{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "from collections import namedtuple, defaultdict, Counter, OrderedDict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sns.set_context(\"poster\")\n",
    "sns.set_style(\"ticks\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "DATA_DIR=\"data/data/\"\n",
    "CLEANED_DIR=\"data/cleaned/\"\n",
    "\n",
    "Tag = namedtuple(\"Tag\", [\"token\", \"tag\"])\n",
    "\n",
    "def load_sequences(filename, sep=\"\\t\", notypes=False):\n",
    "    tag_count = defaultdict(int)\n",
    "    sequences = []\n",
    "    with open(filename) as fp:\n",
    "        seq = []\n",
    "        for line in fp:\n",
    "            line = line.strip()\n",
    "            if line:\n",
    "                line = line.split(sep)\n",
    "                if notypes:\n",
    "                    line[1] = line[1][0]\n",
    "                tag_count[line[1]] += 1\n",
    "                #print line\n",
    "                seq.append(Tag(*line))\n",
    "            else:\n",
    "                sequences.append(seq)\n",
    "                seq = []\n",
    "        if seq:\n",
    "            sequences.append(seq)\n",
    "    return sequences, tag_count\n",
    "\n",
    "def count_phrases(sequences, ptype=\"movie\"):\n",
    "    phrase_counts = defaultdict(int)\n",
    "    check_tag = ptype\n",
    "    for seq in sequences:\n",
    "        phrase = \"\"\n",
    "        for tag in seq:\n",
    "            if not phrase and tag.tag == \"B-%s\" % check_tag:\n",
    "                phrase = tag.token\n",
    "                continue\n",
    "            if tag.tag == \"I-%s\" % check_tag:\n",
    "                phrase += \" %s\" % tag.token\n",
    "                continue\n",
    "            if phrase:\n",
    "                phrase_counts[phrase] += 1\n",
    "                phrase = \"\"\n",
    "    return phrase_counts\n",
    "\n",
    "def count_phrases_lengths(sequences):\n",
    "    lengths = []\n",
    "    for seq in sequences:\n",
    "        phrase_len = 0\n",
    "        for tag in seq:\n",
    "            if tag.tag[0] == \"B\":\n",
    "                if phrase_len == 0:\n",
    "                    phrase_len += 1\n",
    "                else:\n",
    "                    lengths.append(phrase_len)\n",
    "                    phrase_len = 1\n",
    "                continue\n",
    "            if tag.tag[0] == \"I\":\n",
    "                phrase_len += 1\n",
    "                continue\n",
    "            if phrase_len:\n",
    "                lengths.append(phrase_len)\n",
    "                phrase_len = 0\n",
    "        if phrase_len:\n",
    "            lengths.append(phrase_len)\n",
    "            phrase_len = 0\n",
    "    return lengths\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sequences, tag_count = load_sequences(\"data/cleaned/train.tsv\", sep=\"\\t\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df = pd.DataFrame(sum(sequences, []))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>token</th>\n",
       "      <th>tag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>@SammieLynnsMom</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>@tg10781</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>they</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>will</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>be</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             token tag\n",
       "0  @SammieLynnsMom   O\n",
       "1         @tg10781   O\n",
       "2             they   O\n",
       "3             will   O\n",
       "4               be   O"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(46469, 2)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f9983b0d750>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nbYtXUi0Wi/Lz8wOSZfPmzVq/fr2+9a1vKS0tTd/73vcUERERkGO3ZtmyZVq1apWuv/56paWl6eqr\nr+62LFJwfH+eeeYZSadfcd+xY4dsNpvPdo/Ho9LS0oCtgrlcLknSkSNHtH//fvXu3btFnldeeUV1\ndXUByfPl7xmPx6NVq1YpLCysxT4HDx5sdbwrM1177bXq06dPi21VVVV64IEHdMsttwQszwcffKBf\n//rX+uCDD8743+X9998PWJ6CggLl5ORowYIFPuOxsbG6//771dTUpBkzZgQszz/+8Q/9/Oc/V21t\nrRISEvThhx/q5MmTKi8v16xZs5Sbm6tx48YFLE8w/R6MjIzUo48+qtWrV6t///5KSUnx/omJiemW\nTJWVldqyZYs++OADVVVVacOGDYqJiVFRUZFuvPHGgGZ599139ac//UmSNHToUI0aNUopKSm66qqr\nFBIS2NfPP/74Yz300EPen/PWVml3797t12NaPIFeCw5Cc+fO1d69e3X11VerT58+slgsLfZZs2ZN\nwPLcf//92rlzp0JCQnTFFVfoggsu8NlusVi0cuXKgGRJTU3VihUrNHr06Bbb9u7dq3vuuUd79uwJ\nSBZJWrRokd58800dP35cCQkJrX5vAvUEXDr9ZOHpp5/WN77xjVafMEhSYWFhQLJ8+QrY888/rxdf\nfFEnT570/iOUlJQUkAxf9dlnn+n555/X888/r9LSUl100UW64YYbNGnSJMXGxgY8TzB8f2bOnKl3\n3nmn1fL4JYvFoltvvVV33nlnl+cZP368ysrKJJ39sqCJEycqOzu7y/P8/ve/11tvvaXdu3frkksu\nafUf4d69e2vGjBm67rrrujTLz372M1ksFpWWlmr48OHq2bOnz3aPx6OysjKFhITo5Zdf7tIsX5WW\nlqYvvvhCN9xwg3r37t3qv1eTJk0KWJ7rr79e8+bN04QJE1ps27lzpx544IGAvqB26623ymKx6Le/\n/a2io6M1fPhwFRUVKT4+Xhs3btRzzz2nrVu3BixPsP0elKTy8nK5XC7t379fLpdLR44c0WWXXaaU\nlBT96le/CliOv/3tb5o+fbpsNpuGDx+uPXv2aMeOHfJ4PPrhD3+ou+++Wz/+8Y8DlkeSGhsbdeDA\nAb3xxhtyuVx6++231bNnT1199dUaNWqUpk6dGpAcP/vZz3T48GF997vfPePPeUZGhl+PSSGQ9K1v\nfUsPPPBAwJfFz+Q73/nOWbdbLBa/N8MzufLKK7Vt2zY5HI4W2yoqKjRx4kS99dZbAckinf4haUug\nnoBL0jXXXKOlS5fqv//7vwN2zPZobm7W66+/rl27dmnnzp2KiopSWlqaJk+efMbi0pWqq6v1wgsv\n6Pnnn9drr72m//zP/9SPfvQjjR8/vsUTrUDozu+Px+PRkCFDVFRU1OqxoqKiAvoKeE1NjUaOHKkN\nGzbowgsvbLG9V69euvTSSwOWRzr9c/7www+3WLEIpL/85S968803VVhYqJEjR7b6/2nv3r01ZcoU\njRgxImC5hg8frieffFIJCQkBO+bZXHnllXr22WcVHx/fYtuRI0c0fvx4vf322wHLM3z4cD3++ONK\nTEz0fv1lIaioqND3v//9gOb5qmD7PSidvgTv2WefVWFhof7v//4voKtLN910ky655BLde++96tmz\np89/q61bt3oLXHc6ceKEnnjiiYB/f4YPH67/+Z//0dChQwNyPIlLhiRJYWFhuuSSS7o7hlcgX3Fv\nS2JiopxOZ6uXBf3hD38I+D9KgXyy3x4ej0dXXXVVd8doISQkRMnJybJarfJ4PNq6das2bNig9evX\na8aMGcrIyJDVGrgf/wsvvFA//vGPlZycrCeeeEIFBQV6/fXXtXbtWs2bNy/grwJ15/fHYrHogw8+\nkHT6CcJXn4QfOXJEffv27ZLjnknv3r21e/duXXzxxfJ4PD6vyp88eTKg5eRLhYWFamxs1KlTp7xP\nlP7+97/rH//4h4YNG6b+/ft3eYYJEyZowoQJcrvdWrp0aYvLu7rLf/zHf5zx/oru4HA4tGfPHv38\n5z9vse3pp5/WwIEDA5onMjJSzc3NrW6rra3ttifeUnD8HiwvL9cbb7yhN954Q/v379fHH3+syy+/\nXNddd11Ai610+tK2VatWtfrf5JprrtHy5csDmkc6vULwt7/9zfv9eeuttxQZGanhw4fr5ptvDliO\ngQMHBvz/VQqBTi+vPvvss0Fxzf6/+/TTT1VVVaXBgwd3yzXzv/zlL3Xbbbdp586duvzyyxUREaH6\n+nq9+eabqqmp0YYNGwKeSTp909j//u//qqqqSqNHj1ZkZKQ+//zzgD7JlaRx48appKREU6ZMCehx\nz+ajjz7Stm3btH37dlVVVenaa6/VunXr9F//9V965ZVXtGzZMrndbmVmZgYkT21trf7yl7/omWee\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9983b367d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df[df.tag != \"O\"][\"tag\"].value_counts().plot(kind=\"bar\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "lengths = count_phrases_lengths(sequences)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f99815ef190>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f99815fc8d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.DataFrame(Counter(lengths).items(), columns=[\"phrase_length\", \"counts\"]).plot(x=\"phrase_length\", y=\"counts\", kind=\"bar\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## BIEOU"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sequences, tag_count = load_sequences(\"data/cleaned/train.BIEOU.tsv\", sep=\"\\t\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(46469, 2)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>token</th>\n",
       "      <th>tag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>@SammieLynnsMom</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>@tg10781</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>they</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>will</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>be</td>\n",
       "      <td>O</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             token tag\n",
       "0  @SammieLynnsMom   O\n",
       "1         @tg10781   O\n",
       "2             they   O\n",
       "3             will   O\n",
       "4               be   O"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame(sum(sequences, []))\n",
    "print df.shape\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f9984528150>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nwB4eA0FycvIV199www1KTEy84jZVq1ZVQkKCEhISitcdAAAAgFJly30IAAAAAFybCAQAAACAwQgE\nAAAAgMEIBAAAAIDBCAQAAACAwUrlTsVAWcjLy5PD4fC4XUxMjAICAnzQEQAAQPlHIECF4XA49NTk\nZNUMCStym1PH0vXGVKlDhw6+awwAAKAcIxCgQqkZEqa6DaPKug0AAIBrBmMIAAAAAIMRCAAAAACD\nEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMR\nCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEI\nAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgA\nAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAA\nAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAA\nAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAA\ngxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACD\nEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMR\nCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEIAAAAAIMRCAAAAACDEQgAAAAAgxEI\nAAAAAIMRCAAAAACDeRUILMvSa6+9psjISM2fP99t3YULFzR79mzdeeedatasmeLi4rRt2za3bU6f\nPq1Jkyapbdu2at68uQYOHKg9e/bY9yoAAAAAXBWPgeD48eMaMmSI1q5dq8qVKxdYP3PmTL333nua\nPHmyVq5cqfbt22vo0KHav3+/a5tx48Zp27Ztmj17tlJTU3XjjTdq0KBB+uWXX+x9NQAAAACKxWMg\nWLVqlapUqaIPPvhAlSq5b+50OpWSkqKRI0eqc+fOatSokcaOHavw8HAtWrRIknTgwAF9/PHHGj9+\n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\nVSstX75cERERrp8vHVeHDh1Sz549tXPnzquqbddnfvr0af3973+/6jolOSZatGihNWvWKDQ0tMC6\nw4cPq3v37h7fHzu/S//2t7+pWbNmHrf1ilXBxcbGWhkZGSWu89BDD1mzZs0qdN2kSZOsuLg4n/Vi\nVx2TbN++3Zo0aZIVFRVltWjRwmrWrJk1Z84c6+zZsz6vY1cvJXH8+HG3nzMzM6/pOnYcn3bVGTdu\nnJWdne3V8/miTmZmpnXhwgXr/Pnzbsvz8vKKVadFixbW/v37XT+3bNnSOnjwoOs5oqKivKrTr18/\n6+uvvy7Wc5dmP4UpT8e5XXUOHTpkzZgxw4qKirKaNGlitWvXznrvvfc8Pu706dNWfn6+6+f9+/db\nGzZssH766adiPX96erq1YsUKa9y4cdbdd99tRUVFWQ8++KA1ffp0a8OGDT6tY8c+aNd+bNdx3rp1\na9f+XxKxsbHW7t27XT9fflzt2rXLuu2227yuZddnfvr0aWvbtm3WvHnzrMcff9xq1aqV1a5dOys+\nPt5asmSJ13V+7WqOiV69ellJSUmFrps3b57Vs2dPj89r13dXr169rL1793q1rTcq/BiCPn36aM2a\nNSW+Tv6ZZ57Rk08+qfXr1+t3v/udAgMDlZOTox07dujkyZN68803fdaLXXUud+TIEWVlZalx48ZX\nff2+0+nUf//7X2VlZal9+/aqXr26zp07J3//4u1mdtXZv3+/Vq5cqdWrVysrK0t33nmnXnvtNf3+\n97/Xli1bNGnSJDmdTiUkJJR6Hbt6Kel7k5WVpREjRujmm2/WX//6V9fy5557Tvn5+Xr99df129/+\n9pqrY8fxaVed6dOn68cff1SlSpVUvXp1SdKWLVu0f/9+RUdHe/3XHLvq1KpVS2PGjFFQUJBefPFF\n1/LBgwerTp06+stf/lJgDEdRdYoanHz06NECl7EVZdq0aZo+fbr69u2rJk2aFHqN/A033OCzfi4p\nT8e5XXVOnTqlf/zjH/roo4/0zTff6NZbb9Wf//xnde3aVZ988olefvllHTt2rMh/S3bs2KFhw4bp\nrbfeUsuWLbV+/XqNHTtWFy5cUEBAgBITE3XHHXd4fG/bt28vy7LUtGlTtWzZUvfff79atmypgIAA\nj48tjTp27IN27cd2HeddunTR5s2b9fDDD3u1fVGaNWum6dOn67XXXlPt2rVdy/Py8rRgwQLdfvvt\nXtWx67N66KGH9N133yk0NFQtW7bUvffeq8mTJxd6FtcbJT0mRowYobFjx+qzzz5z+zciLS1N3377\nrWbMmOGxB7u+uxISEjRjxgw9/fTTioiI8PqMelEq/CVD7777rpKSknTDDTeoadOmBQ5aPz8/DRs2\nzKta+/fvV0pKinbv3q2TJ0+qTp06ioqK0sCBA73aOe3qxc7XtGjRIi1evFg///yz/Pz8tGHDBgUG\nBmrUqFF6/fXXvTpVfPbsWU2fPl3vvfeezp0756pTqVIlPf7440pKSvLqGj276iQlJWnVqlXau3ev\nQkND9cADD6hPnz4FfrHctm2bRo8erX//+9+lVseuXux6b5555hllZGRoypQpatq0qWv53r17NW3a\nNF1//fWaPXv2NVdHKvnxaVedf/3rX/rjH/+o5ORktWrVSikpKZo2bZqCgoJ0+vRpzZo1S926dfNZ\nnalTp2rLli2aOHGi7rzzTtfyzz//XH/9618VExOjqVOneqwzZswYff/995oxY4aaNGniOs1dpUoV\njRkzRvXr1/fqs9q4caMmT55c6OxSlmXJz8/Pq0sA7OqnPB3ndtX55z//qZUrV+rzzz9XlSpV1LNn\nT/Xt21fNmzd32+6TTz5x7R+FGThwoBo1aqSJEyeqSpUq6tSpk1q0aKGpU6e6xhl4cxlnt27d9NNP\nPykyMlLR0dGKiYlRdHS0V0G0NOrYsQ/atR/bdZx/+umnmjNnjlq1aqVmzZoV+ou3N5cTff/99xo4\ncKCcTqcaN26sffv2KSIiQpmZmapcubLeeecd3XLLLR7r2PVZtWrVSjVr1tTtt9+u22+/XTExMVd1\nmZZdx4R08fhLSkrSrl27XP9G/O53v9OgQYPUpk0bj73Y9d31n//8RxMmTNAPP/xQ5DbFuZyqwgeC\nS9fBFcXbg7Y89WJXnYULF2rBggXq37+/WrdurTFjxmj16tUKDg7WsGHD1KRJE68GFc+YMUOpqamK\nj49XTEyM+vXrp1WrVqlevXoaPXq0atSo4dXObVed5s2b6+6779aDDz54xb9eHT9+XM8884wWL15c\nanXs6sWu9yY2NlaLFi1SZGRkgXV79+7V4MGDvZparrzVKU/69u2rO++8U08//bQuXLigDh06qFu3\nbpo4caKWLl2q1atXa8WKFT6r8/vf/15z585Vq1atCqxLS0vTqFGjtHnzZo91jhw5oscee0wZGRmq\nWbOmTp06pdq1a+vkyZMKDQ3V0qVLdd1113ms06lTJ918883q169fkQPhvJkBxK5+ytNxblediIgI\ntWzZUg8++KB69OhR5ExFWVlZGjBgQJGDIKOjo7VixQrdfPPN2rdvn3r37q2VK1eqSZMmOnTokB54\n4AFt3769yD4v9/PPP+vf//63HA6HHA6HDhw4oMaNG7t+0fPml1676tixD9q1H9t1nNv5u87x48f1\n/vvv69tvv5XT6VRwcLCaNWumBx54oFjjV+z4rM6fP6/du3e76qSlpcnf31/R0dGuOt6cRbHrmLCD\nXd9dPXr0UJUqVUo8QYOLbRcfGWDv3r3W5MmTrQcffNDq3r279dBDD1nTpk2zfvjhh7Ju7ap06tTJ\n+uCDD1w/X34d21dffWW1bdvWqzrt27e3Pvnkk0Lr7Ny504qJifFpnRMnTni1nSfTpk2zcnNzC113\n8OBB6y9/+YtPaliWfe/NbbfdZu3bt6/Qdf/973+tVq1aXZN1LMu+47OkdS7/bHbs2GFFRES4xvxk\nZmZ6fQ2unXUuv171cgcOHLBatmzpVR3Lsqz8/Hxr7dq11vTp060JEyZYL7/8srV27VrrzJkzXtdo\n2bKlbWOg7OjHju+L8vSdY1mWlZKSUuQYkf/9739eX3d92223ufbBhQsXWh07dnTrpzj7zq/9/PPP\n1ttvv2117NjRioiI8GkdO/ZBu/Zju47zzMxMj/+VNTs+8/Pnz1s7d+60Xn/99WLVKeo78GocPXrU\neuutt6zRo0dbQ4YMscaMGWMtWbLE+uWXX7yuYcd316/HIpRUhR9DcMn58+eVnp6unJwcBQcHFzmV\nWlG2bNmi4cOHq169eoqKilJYWJiys7O1fv16rVixQklJSWrZsqVPerGrTlZWVpFT2V133XVF3pDm\n15xOp2699dZC19WqVUunT5/2aZ2AgAAtWbKkxPMxp6SkaMSIEYX+JeHIkSNatmxZgfnqS6OGZN97\nc8cdd2jmzJl68cUX3f4C8cMPP2jixIlez81c3urYdXzaUadq1aquu7tu2bJFN910k2688UZJFy/9\n+vX+WNp1WrZsqbfffltTp051Gx/kdDo1c+ZMt0u1PKlSpYp69OhR6JR73mrXrp327Nnjei0lYUc/\ndnxflKfvHOni9e3dunUr9Jri4sxt37hxYy1btkw9e/bUsmXLdPfdd7vWbdq0qdCZVopy4cIF7d27\nV2lpafr666+VlpamY8eOKTIyslifnx117NgH7dqP7TrOL79k9MyZM3I6nQoKCvLquvKJEydq3Lhx\nqlGjhiZOnHjFbb2djlyy7zOXLs4MdHmdXbt2qUaNGuratatXj7/lllu0YcOGKx6j3ryub7/9Vo8/\n/rjOnTunm2++WTVq1NCRI0e0YcMGvfXWW0pOTvbqkio7vruaN2+uI0eOePV83qjwgeD8+fOaNWuW\n3nvvPeXk5LiWBwcH67HHHtPIkSO9qjNv3jz17t1b06ZNczstc/78eY0bN06zZs3yeC2lXb3YVSc0\nNFRbt27VH/7whwLrvvrqK9WvX9+rOmFhYVq7dq2eeuqpAus+++wz3XTTTT6tM2XKFI/zMV9Jp06d\n5OfnJ8uy9MADDxQIWZZlKSsr64rX7NtR43J2vTcJCQkaNGiQ7rrrLv3mN79RYGCgnE6nTp06pdDQ\nUK8GRJXHOnYcn3bViYqK0uuvv64uXbpo2bJl6tevn2vdmjVrvL7+1a4648eP1+OPP6477rhDt9xy\ni+s93r9/vwIDA7VkyZIiH/vEE0/o1VdfVXBwsMeb7Xj7S2+vXr30+uuv6+uvv9att95arGudS6Of\nkn5f2FHDru+LS3PbW5alkSNHFjm3fWFT0BZm1KhRGjFihGvM2pAhQyRd/M6ZPn26178YPv7449q5\nc6dyc3N14403qm3btnr++ed1xx13eN2LnXVKsg/aWUOy7ziXLgbKlJQUHThwQNLFY+CWW27R4MGD\n1bt37yIft3XrVuXn56tGjRraunXrFZ+jsMtSCmPXZ5WQkKC0tDQdOHBAAQEBio6OVpcuXTRp0qRC\nLzUtyssvv6ykpCQFBga6DZYu7uuaNWuWYmJiNHPmTLfxECdPntSYMWM0Y8YMJSYmFnhcaXx3xcfH\na+7cufrvf/+rJk2aFBr+brvtNi9e1UUVPhDMmzdPf//73/XII4+oWbNmqlGjhpxOp9LS0rRw4UIF\nBARo8ODBHuvs27dP06dPL7DTVK5cWU8++aTbQVzavdhVp1evXnrppZeUnp6uNm3ayLIsff311/rH\nP/6hhQsXej0wecCAAUpISNCePXvUpk0bXbhwQWvXrtWPP/6oDz/8UFOmTPFpnX/961+aMWPGVc/H\nPGfOHO3YsUMvv/yy2rRpU+hBVqtWrStem2dHjcvZ9d7Ur19fq1at0saNG7V7927XtYtRUVHq0qWL\n12eYylsdO45Pu+o8++yzeuqpp7R69Wo1b97c9eW/bt06vf7661qwYIFXvdhV59Zbb9WaNWuUmprq\neo8bNWqk++67T3379lVwcHCRj738L5Rnz5716vk8efrppyVdfK8L4+fnV+SxWxr9lPT7wo4adn1f\n9O/fXzt27ND27dtVtWrVQudUb926tdcz0bRt21aff/650tPT1bhxY9eZi0aNGikxMbHQG/gVpm7d\nunr++ecVGxvr1cw7pV2nJPugnTUk+47zpUuX6pVXXlG3bt3Ur18/t98LJkyYIMuyitx/Lr/Zojc3\ncPSGXZ/V/v371bVrV9fdiT3dJ6Aoa9as0bPPPuu68drV+uabb/T3v/+9wODoWrVq6ZlnntFjjz1W\n6ONK47vr0UcflXRxLJjkHmqsYgxsv6TCDyru1KmTRo8erV69ehVY9/7772vhwoXasGGDxzq33Xab\nli9friZNmhRY99133+kPf/iDduzY4ZNe7KpjWZYWLFigJUuWuJ1pCAoK0qOPPur6wvPGhx9+qIUL\nF7qNdm/UqJEGDx6sBx54wKd12rRpoxUrVhTrdHZh5s+fr8GDBxc5+MhXNS6x6z2uiOw4Pu2sI128\nM+blfy0+evSosrOzi31616465cXhw4c9blOcO4eWlB3fF+XpO0e6eFZowoQJxZ7RpTSdOXNGGzdu\n1J49e1wDVZs3b66OHTsW65c8O+rYsQ/avR+X9Djv2rWrHnnkEQ0cOLDAurfffts1ja0nf/jDH3Tf\nffepR48ehf4lvTjs+swlaefOndq9e7fbIOeoqCivHx8dHa2VK1eqYcOGxX0Zblq0aKHU1NRCP5cf\nfvhBcXFx+s9//lOi5/CWNwP6vb3sVjIgEDRt2lTr168vdCc4dOiQunfvrl27dnmsM3jwYNWoUUMv\nv/yya65g6eJ1uM8884zOnTvn8RSPXb3YVeeSc+fO6fvvv3cdaI0aNSr2nP+XOJ1O5eTkKCgoqNjz\ngNtVZ8KECYqKirqq+ZjT0tLUokULVa5c2ZW6r6Sw03F21LiSkrw33lx/PH369Guujh3HZ0nqHDly\nxDUG4siRIx6fp6gZJOyqc7n58+d73Mab29t37NhRPXr00H333VesU/XF8fPPP2vatGmaO3euz/op\nyfeFHTXs+r6wa99p2rSpNm3a5Jpu19NfU735tyYjI0ODBg3Sjz/+qODgYNdfr51Opxo1aqQlS5Z4\n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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9981568c90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df[df.tag != \"O\"][\"tag\"].value_counts().plot(kind=\"bar\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>tag</th>\n",
       "      <th>Boundary</th>\n",
       "      <th>Class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>U-person</td>\n",
       "      <td>250</td>\n",
       "      <td>U</td>\n",
       "      <td>person</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>U-geo-loc</td>\n",
       "      <td>232</td>\n",
       "      <td>U</td>\n",
       "      <td>geo-loc</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B-person</td>\n",
       "      <td>199</td>\n",
       "      <td>B</td>\n",
       "      <td>person</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>E-person</td>\n",
       "      <td>197</td>\n",
       "      <td>E</td>\n",
       "      <td>person</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>I-other</td>\n",
       "      <td>164</td>\n",
       "      <td>I</td>\n",
       "      <td>other</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B-other</td>\n",
       "      <td>157</td>\n",
       "      <td>B</td>\n",
       "      <td>other</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>E-other</td>\n",
       "      <td>156</td>\n",
       "      <td>E</td>\n",
       "      <td>other</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>U-company</td>\n",
       "      <td>144</td>\n",
       "      <td>U</td>\n",
       "      <td>company</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B-facility</td>\n",
       "      <td>79</td>\n",
       "      <td>B</td>\n",
       "      <td>facility</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>E-facility</td>\n",
       "      <td>78</td>\n",
       "      <td>E</td>\n",
       "      <td>facility</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>U-other</td>\n",
       "      <td>68</td>\n",
       "      <td>U</td>\n",
       "      <td>other</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>U-product</td>\n",
       "      <td>49</td>\n",
       "      <td>U</td>\n",
       "      <td>product</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B-product</td>\n",
       "      <td>49</td>\n",
       "      <td>B</td>\n",
       "      <td>product</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>E-product</td>\n",
       "      <td>48</td>\n",
       "      <td>E</td>\n",
       "      <td>product</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B-geo-loc</td>\n",
       "      <td>45</td>\n",
       "      <td>B</td>\n",
       "      <td>geo-loc</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>E-geo-loc</td>\n",
       "      <td>40</td>\n",
       "      <td>E</td>\n",
       "      <td>geo-loc</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B-musicartist</td>\n",
       "      <td>37</td>\n",
       "      <td>B</td>\n",
       "      <td>musicartist</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>E-musicartist</td>\n",
       "      <td>37</td>\n",
       "      <td>E</td>\n",
       "      <td>musicartist</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>I-product</td>\n",
       "      <td>31</td>\n",
       "      <td>I</td>\n",
       "      <td>product</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B-movie</td>\n",
       "      <td>29</td>\n",
       "      <td>B</td>\n",
       "      <td>movie</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>U-sportsteam</td>\n",
       "      <td>29</td>\n",
       "      <td>U</td>\n",
       "      <td>sportsteam</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>E-movie</td>\n",
       "      <td>29</td>\n",
       "      <td>E</td>\n",
       "      <td>movie</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>B-company</td>\n",
       "      <td>27</td>\n",
       "      <td>B</td>\n",
       "      <td>company</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>E-company</td>\n",
       "      <td>27</td>\n",
       "      <td>E</td>\n",
       "      <td>company</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>U-facility</td>\n",
       "      <td>26</td>\n",
       "      <td>U</td>\n",
       "      <td>facility</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>I-facility</td>\n",
       "      <td>26</td>\n",
       "      <td>I</td>\n",
       "      <td>facility</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>I-musicartist</td>\n",
       "      <td>24</td>\n",
       "      <td>I</td>\n",
       "      <td>musicartist</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>E-tvshow</td>\n",
       "      <td>22</td>\n",
       "      <td>E</td>\n",
       "      <td>tvshow</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>B-tvshow</td>\n",
       "      <td>22</td>\n",
       "      <td>B</td>\n",
       "      <td>tvshow</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>B-sportsteam</td>\n",
       "      <td>22</td>\n",
       "      <td>B</td>\n",
       "      <td>sportsteam</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>E-sportsteam</td>\n",
       "      <td>21</td>\n",
       "      <td>E</td>\n",
       "      <td>sportsteam</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>U-musicartist</td>\n",
       "      <td>18</td>\n",
       "      <td>U</td>\n",
       "      <td>musicartist</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>I-person</td>\n",
       "      <td>18</td>\n",
       "      <td>I</td>\n",
       "      <td>person</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>I-movie</td>\n",
       "      <td>17</td>\n",
       "      <td>I</td>\n",
       "      <td>movie</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>U-tvshow</td>\n",
       "      <td>12</td>\n",
       "      <td>U</td>\n",
       "      <td>tvshow</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>I-tvshow</td>\n",
       "      <td>9</td>\n",
       "      <td>I</td>\n",
       "      <td>tvshow</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>I-company</td>\n",
       "      <td>9</td>\n",
       "      <td>I</td>\n",
       "      <td>company</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>I-geo-loc</td>\n",
       "      <td>8</td>\n",
       "      <td>I</td>\n",
       "      <td>geo-loc</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>U-movie</td>\n",
       "      <td>5</td>\n",
       "      <td>U</td>\n",
       "      <td>movie</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>I-sportsteam</td>\n",
       "      <td>2</td>\n",
       "      <td>I</td>\n",
       "      <td>sportsteam</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            index  tag Boundary        Class\n",
       "0        U-person  250        U       person\n",
       "1       U-geo-loc  232        U      geo-loc\n",
       "2        B-person  199        B       person\n",
       "3        E-person  197        E       person\n",
       "4         I-other  164        I        other\n",
       "5         B-other  157        B        other\n",
       "6         E-other  156        E        other\n",
       "7       U-company  144        U      company\n",
       "8      B-facility   79        B     facility\n",
       "9      E-facility   78        E     facility\n",
       "10        U-other   68        U        other\n",
       "11      U-product   49        U      product\n",
       "12      B-product   49        B      product\n",
       "13      E-product   48        E      product\n",
       "14      B-geo-loc   45        B      geo-loc\n",
       "15      E-geo-loc   40        E      geo-loc\n",
       "16  B-musicartist   37        B  musicartist\n",
       "17  E-musicartist   37        E  musicartist\n",
       "18      I-product   31        I      product\n",
       "19        B-movie   29        B        movie\n",
       "20   U-sportsteam   29        U   sportsteam\n",
       "21        E-movie   29        E        movie\n",
       "22      B-company   27        B      company\n",
       "23      E-company   27        E      company\n",
       "24     U-facility   26        U     facility\n",
       "25     I-facility   26        I     facility\n",
       "26  I-musicartist   24        I  musicartist\n",
       "27       E-tvshow   22        E       tvshow\n",
       "28       B-tvshow   22        B       tvshow\n",
       "29   B-sportsteam   22        B   sportsteam\n",
       "30   E-sportsteam   21        E   sportsteam\n",
       "31  U-musicartist   18        U  musicartist\n",
       "32       I-person   18        I       person\n",
       "33        I-movie   17        I        movie\n",
       "34       U-tvshow   12        U       tvshow\n",
       "35       I-tvshow    9        I       tvshow\n",
       "36      I-company    9        I      company\n",
       "37      I-geo-loc    8        I      geo-loc\n",
       "38        U-movie    5        U        movie\n",
       "39   I-sportsteam    2        I   sportsteam"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_t = df[df.tag != \"O\"][\"tag\"].value_counts().reset_index()\n",
    "df_t[[\"Boundary\", \"Class\"]] = df_t[\"index\"].str.split(\"-\", 1, expand=True)\n",
    "df_t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x7f9983f4c750>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\npqZNmzZm+vTp5sKFC/bn7d6923Tv3t00bdrUBAcHm4ULFxpjjJkzZ45p2rSpefLJJ40xxnTs2LHA\nOo0xxmazmfDw8ALtw4cPNzabzRw4cOBaXjbAGGPdvmPu3LmmYcOGDm3/+c9/TKdOnYyfn5/p1q2b\n2bBhg/n999/NwIEDja+vr5k5c6Yxxpjs7Gwzbdo0065dO9O4cWPTtWtXs27dOvtyLu8jLl/X5f3K\nvn377P3TyJEjHWqaNm2asdls5vPPP7/hrwGsy6r7fYMGDUxYWJiJj483nTt3Nk2aNDEPPfSQ2bx5\ns32eK30fMMaYtLQ0M2HCBBMUFGQaNWpkgoODTXR0tDl//rzDfGvXrjVdunQxjRs3Np07dzarV682\n06dPd+gHLly4YGbMmGHat29vmjZtavr27Wt++OEH07t37wLfAT7++GPTrVs34+vra9q0aWOmTZtm\nsrKy7NO3bt1qf61feeWVG/VylVguxlzHFVs3QGZmptq0aaOXXnrJYRjAgQMH6vfff1dsbKxsNpum\nT5+ubt26FbqMw4cPq0uXLvrXv/5lHyL5woULat++vXr37q3Q0NCbsi3AtQoPD9eaNWt04MABp63/\nu+++0+rVq52yfgDFZ968eVq+fLm2bNlS4CJvANfGZrOpe/fu9vsN4vbktGuIPD09tW3bNvvN7PJV\nrVq10AvLCrNz506VKlVKgYGB9jZXV1f5+/trx44dN7Re4HaRmpqqjz/+WH369HF2KQBusPT0dC1f\nvlw9e/YkDAFAETm1t7z8fM+cnBx98cUXRb4nSmpqqipVqiQ3NzeHdm9vb+3ateuG1QncDlJTU/Xj\njz8qKipK9evX12OPPebskgDcICdOnNDBgwc1d+5cubq6atCgQc4uCQBKjFtqlLnJkycrIyNDQ4YM\nsbdt27ZNffr0UWBgoLp27aqlS5fap2VlZcnd3b3Acjw8PK44nCNwqyjqvYpulLffflujRo3SnXfe\nqYULF9709QMoPmvWrNHgwYN14cIFxcbGqnz58s4uCbgtuLi48HlpAU67huhykZGRev/99zV79myF\nhIRIujRaTvPmzdW/f395enpq8+bNmjt3rp599lmFhoZq4sSJ2rlzpz7//HOHZb355pt688039e23\n315TDT169CjQZozR3LlzVb16dU4/ACyCvgCARF8AWIXT9+SLFy8qLCxMn376qebOnauOHTvap23f\nvt1hXpvNpqNHjyomJkbDhg2Tp6dnoUeCMjIyVKFChRtSX15enkJCQrRhwwaHG+oBsBb6AgASfQFw\nO3J6IJo8ebI2btyomJiYIo2BbrPZtGrVKmVkZMjHx0fp6enKzMx0uNdCcnJygTHZiyI+Pr5A25Ej\nR+xHrABYA30BAIm+ALAKp15DtGLFCq1evVoLFiwoEIa++uorvfDCCwXuPLxv3z5VrFhRlSpVst+I\nbuvWrfbp2dnZ2rVrlzp06FDs9QMAAAAo2Zx2hCg7O1vR0dF6/PHH5ePjo1OnTjlMr1mzprZu3aox\nY8Zo1KhRqlixojZs2KCEhAT73ZBr1aql7t27KyoqSl5eXvLy8tKsWbPk7u6uXr16OWOzAAAAAJQg\nTgtE+/bt09mzZ7V8+XItX77c3m6MkYuLiw4cOKB3331Xs2bN0tChQ5WZmak6depo/Pjx6t27t33+\nSZMmacaMGRo9erSys7PVokULxcbGOpxCBwAAAACFcVog8vf314EDB646j81m04IFC646T9myZRUR\nEaGIiIgbWR4AAAAAC7il7kMEAAAAADcTgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgA\nAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgW\ngQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAA\nAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFiWUwNRXl6e5s2b\npwceeEDNmjXTww8/rLi4OPv0ixcvKjo6Wvfdd5+aNGmiHj16KDEx0WEZ586d08SJExUQECBfX1/1\n7dtX+/fvv9mbAgAAAKAEcmogmjZtmpYsWaJx48YpISFBPXv21NSpUxUfHy9JioqK0nvvvafIyEh9\n8MEHatu2rYYMGaKDBw/alxEWFqbExERFR0crPj5ederU0YABA3T69GlnbRYAAACAEsJpgSgzM1Or\nVq1SaGioOnfuLG9vb/Xv31+BgYFKSEhQZmamli1bphEjRigkJET16tXTc889p/r16ysmJkaSdOjQ\nIa1fv17h4eEKCAhQ/fr1NWXKFLm6ujocaQIAAACAwjgtEHl6emrbtm3q2bOnQ3vVqlV15swZ7dmz\nR7m5uQoMDHSYHhgYqB07dkiSEhMTVapUKYd5XF1d5e/vb58HAAAAAK7EqafMVapUSeXKlbM/zsnJ\n0RdffCE/Pz+lpKRIkmrXru3wHG9vb/3666/KyclRamqqKlWqJDc3twLzJCcnF/8GAAAAACjRbqlR\n5iZPnqyMjAwNHjxYWVlZcnFxcQhMkuTh4SHp0il3WVlZcnd3L7AcDw8PZWZm3pSaAQAAAJRcrs4u\nIF9kZKQ+/PBDzZ49W97e3s4uBwAAAIAFOD0QXbx4UWFhYfr00081d+5cdezYUdKla4yMMcrOzrYf\nFZKkjIwMSVKFChXk6elZ6JGgjIwMVahQ4Zpr6dGjR4G23Nzca14OgJKNvgCARF8AWIXTT5mbPHmy\nNm7cqJiYGHsYkiQfHx9Jsl9LlC85OVk1atRQuXLl5OPjo/T09AKhKDk5WfXq1Sv22gEAAACUbE49\nQrRixQqtXr1a77zzjlq0aOEwrUWLFnJzc9O2bdtks9ns7Vu3blWHDh0kSUFBQfa2rl27SpKys7O1\na9cuDRs27Jrryb//0R8dOXJEISEh17wsACUXfQEAib4AsAqnBaLs7GxFR0fr8ccfl4+Pj06dOuUw\nvWrVqho0aJDefvtt1a9fX/fcc49iY2N18uRJPfPMM5KkWrVqqXv37oqKipKXl5e8vLw0a9Ysubu7\nq1evXs7YLAAAAAAliNMC0b59+3T27FktX75cy5cvt7cbY+Ti4qIDBw5o+PDhMsZo0qRJSktLU8OG\nDbV48WKHobgnTZqkGTNmaPTo0crOzlaLFi0UGxsrT09PZ2wWAAAAgBLEaYHI399fBw4cuOo8Li4u\nCg0NVWho6BXnKVu2rCIiIhQREXGjSwQAAABwm3P6oAoAAAAA4CwEIgAAAACWRSACAAAAYFkEIgAA\nAACWRSACAAAAYFkEIgAAAACWRSACAAAAYFkEIgAAAACWRSACAAAAYFkEIgAAAACWRSACAAAAYFkE\nIgAAAACWRSACAAAAYFkEIgAAAACWRSACAAAAYFkEIgAAAACWRSACAAAAYFkEIgAAAACWRSACAAAA\nYFkEIgAAAACWRSACAAAAYFkEIgAAAACWRSACAAAAYFkEIgAAAACWRSACAAAAYFkEIgAAAACWRSAC\nAAAAYFkEIgAAAACW5dRAZIzRnDlz1LBhQ82bN89hms1mK/DXsGFDLV682D7PuXPnNHHiRAUEBMjX\n11d9+/bV/v37b/ZmAAAAACihXJ214jNnzuj555/XkSNHVLp06ULniYiI0IMPPujQ5unpaf93WFiY\n9u/fr+joaHl5eemdd97RgAEDtG7dOlWuXLlY6wcAAABQ8jntCFFCQoLKlCmj999/X6VKFV6Gp6en\nqlSp4vBXrlw5SdLhw4e1fv16hYeHKyAgQPXr19eUKVPk6uqquLi4m7kpAAAAAEoopwWiTp06acGC\nBQ5HfK7Fzp07VapUKQUGBtrbXF1d5e/vrx07dtyoMgEAAADcxpwWiGrVqvWXnp+amqpKlSrJzc3N\nod3b21vJycl/adkAAAAArOGWHmVu27Zt6tOnjwIDA9W1a1ctXbrUPi0rK0vu7u4FnuPh4aHMzMyb\nWSYAAACAEsppgyr8mapVqyovL09jx46Vp6enNm/erFdffVVpaWkKDQ11dnkAAAAAbgO3bCDavn27\nw2ObzaajR48qJiZGw4YNk6enZ6FHgjIyMlShQoXrWmePHj0KtOXm5l7XsgCUXPQFACT6AsAqbulT\n5i5ns9mUk5OjjIwM+fj4KD09vUAoSk5OVr169ZxUIQAAAICS5JY8QvTVV18pLi5OkyZNUvny5e3t\n+/btU8WKFVWpUiUFBQVJkrZu3aquXbtKkrKzs7Vr1y4NGzbsutYbHx9foO3IkSMKCQm5ruUBKJno\nCwBI9AWAVTgtEKWnpysvL0/GGEmXwsypU6ckSTVr1tTWrVs1ZswYjRo1ShUrVtSGDRuUkJCgMWPG\nSLo0Sl337t0VFRUlLy8veXl5adasWXJ3d1evXr2ctVkAAAAAShCnBaLQ0FDt3r3b/njx4sV65513\n5OLiog0bNujdd9/VrFmzNHToUGVmZqpOnToaP368evfubX/OpEmTNGPGDI0ePVrZ2dlq0aKFYmNj\nr/veRtciJydHSUlJxb6e4uTv719g2HIAAADASpwWiJYsWXLV6TVr1tSCBQuuOk/ZsmUVERGhiIiI\nG1lakSQlJWns5EW6o1qdm77uGyHtZIreiJTatWvn7FIAAAAAp7klryEqKe6oVkfVatucXQYAAACA\n61SiRpkDAAAAgBuJQAQAAADAsghEAAAAACyLQAQAAADAsoo0qMKaNWuKtDBPT081aNBA3t7ef6ko\nAAAAALgZihSIwsLC5OLiYn+cfzPVK7UFBwcrKipK7u7uN7JWAAAAALihihSIVq5cqWnTpskYo0ce\neUR169aVJCUnJ+ujjz5S2bJl9eyzz+rcuXPasWOHVqxYoejoaI0fP75YiwcAAACAv6JIgeijjz5S\n3bp19dprrzm0t23bVn369NFLL72k3bt3KzQ0VB07dlS1atW0bNkyAhEAAACAW1qRBlVISEhQt27d\nrji9W7duWrVqlf1x8+bNdfr06b9eHQAAAAAUoyIFovPnz+vw4cNXnP7LL78oLS3N/nj//v3y8vL6\ny8UBAAAAQHEq0ilzQUFBev3115WWlqY2bdqoatWqkqQzZ85o9+7dWrhwofz8/CRJsbGxio6OVp8+\nfYqvagAAAAC4AYoUiCZOnKjQ0FDNnj1bc+bMcZhmjJGPj4+mTJkiSTp8+LCCg4M1evToG18tAAAA\nANxARQpEXl5eWrFihfbt26cff/xRv/32m/Ly8vS3v/1N9957r5o3b65SpS6dfTdhwgSVLl26WIsG\nAAAAgBuhSIEoX6NGjdSoUaMC7T/++KMWLFigmTNnEoYAAAAAlBhFDkTnz5/XN998o2PHjtlvwipJ\nv//+uzZv3qxt27YVS4EAAAAAUFyKFIgOHz6swYMH68iRIzLGyMXFxR6K8v/do0ePYi0UAAAAAG60\nIgWiqKgoXbhwQZMnT5a3t7cGDBigqVOnqly5coqLi1NQUJBGjhxZ3LUCAAAAwA1VpPsQff3113rx\nxRfVs2dPBQQESJKaNGmiRx55RHFxcdq1a5fDjVkBAAAAoCQoUiBKS0tTjRo17I9dXV117ty5Swso\nVUoDBw5UTExM8VQIAAAAAMWkSIGoVq1aSkpKsj/28vLS/v377Y/LlSunY8eO3fjqAAAAAKAYFeka\noscee0xvvPGGfv31V/3f//2f2rZtq9mzZ6tMmTLy8vLSm2++qVq1ahV3rQAAAABwQxUpEA0aNEiZ\nmZn20+SGDh2qrVu3auLEiZIkNzc3RUVFFV+VAAAAAFAMihSIxo8fr5EjR6pmzZqSpNq1a2vdunX6\n8ssvdeHCBWVlZSkhIUGdOnUq1mIBAAAA4EYq0jVEq1evVlpamkObh4eHOnbsqPvvv1/nz5/Xpk2b\niqVAAAAAACguVz1CFBwcLBcXF0nSsGHDVKZMmQLzXLx4USdPnlTt2rWLp0IAAAAAKCZXDURhYWHa\ntWuXli5dqqpVq6p8+fIF5nFxcVHz5s01cODAYisSAAAAAIrDVQNR586d1blzZ33//feaOnWqfHx8\nblJZAAAAAFD8inQN0ZIlS4olDBljNGfOHDVs2FDz5s1zmHbx4kVFR0frvvvuU5MmTdSjRw8lJiY6\nzHPu3DlNnDhRAQEB8vX1Vd++fR3ujwQAAAAAV1OkQFQczpw5o0GDBunjjz9W6dKlC0yPiorSe++9\np8jISH3wwQdq27athgwZooMHD9rnCQsLU2JioqKjoxUfH686depowIABOn369M3cFAAAAAAllNMC\nUUJCgsqUKaP3339fpUo5lpGZmally5ZpxIgRCgkJUb169fTcc8+pfv36iomJkSQdOnRI69evV3h4\nuAICAlS/fn1NmTJFrq6uiouLc8YmAQAAAChhnBaIOnXqpAULFsjT07PAtD179ig3N1eBgYEO7YGB\ngdqxY4ckKTExUaVKlXKYx9XVVf7+/vZ5AAAAAOBqnBaIatWqdcVpKSkpklRgKG9vb2/9+uuvysnJ\nUWpqqipVqiQ3N7cC8yQnJ9/4ggEAAADcdpwWiK4mKytLLi4uKleunEO7h4eHpEun1GVlZcnd3b3A\ncz08PJSZmXlT6gQAAABQsl112G2r6dGjR4G23NxcJ1QCwJnoCwBI9AWAVdySR4g8PT1ljFF2drZD\ne0ZGhiSpQoUK8vT0LPRIUEZGhipUqHBT6gQAAABQst2SR4jy73mUkpIim81mb09OTlaNGjVUrlw5\n+fj4KD09XZmZmQ4DMyQnJ6tevXrXtd74+PgCbUeOHFFISMh1LQ9AyURfAECiLwCs4pY8QtSiRQu5\nublp27ZtDu1bt25Vhw4dJElBQUH2tnzZ2dnatWuXfR4AAAAAuBqnHSFKT09XXl6ejDGSLoWZU6dO\nSZIqV66sQYMG6e2331b9+vV1zz33KDY2VidPntQzzzwj6dIodd27d1dUVJS8vLzk5eWlWbNmyd3d\nXb169XLWZgEAAAAoQZwWiEJDQ7V7927748WLF+udd96Ri4uLNmzYoOHDh8sYo0mTJiktLU0NGzbU\n4sWLHYbinjRpkmbMmKHRo0crOztbLVq0UGxsbKH3NgIAAACAyzktEC1ZsuRP5wkNDVVoaOgVp5ct\nW1YRERGKiIi4kaUBAAAAsIhb8hoiAAAAALgZCEQAAAAALItABAAAAMCyCEQAAAAALItABAAAAMCy\nCEQAAAAALItABAAAAMCyCEQAAAAALItABAAAAMCyCEQAAAAALMvV2QUAAEqOnJwcJSUlObuM6+bv\n7y83NzdnlwEAuIUQiAAARZaUlKTnF05QZe+qzi7lmp1OPaUoTVW7du2KNH9JD38SARAAioJABAC4\nJpW9q+rOe2s5u4xil5SUpLhxL+iuSpWdXcp1OXTmtDTz9SIHQACwKgIRAABXcFelymp8553OLgMA\nUIwYVAEAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGI\nAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZbk6u4A/ExwcrF9++cWh\nzcXFRX369FFERIQuXryoWbNmac2aNTpz5ozuuecevfDCCwoICHBSxQAAAABKils+EEnSwIED9cwz\nzzi0ubu7S5KioqIUHx+vadOm6a677tKaNWs0ZMgQrV69WvXr13dGuQAAAABKiBJxypy7u7uqVKni\n8Ofh4aHMzEwtW7ZMI0aMUEhIiOrVq6fnnntO9evXV0xMjLPLBgAAAHCLKxGB6Er27Nmj3NxcBQYG\nOrQHBgZqx44dTqoKAAAAQElRogNRSkqKJKl27doO7d7e3vr111+Vk5PjjLIAAAAAlBAl4hqivXv3\nauDAgfr+++/l7u6uRx99VEOGDFFWVpZcXFxUrlw5h/k9PDwkSZmZmXJzc3NGyQAAAABKgFs+EFWp\nUkU5OTkaPHiwvLy8lJSUpKioKB09elQ+Pj7OLg8AAABACXbLB6KVK1c6PL733nuVkZGh2bNna8SI\nETLGKDs7235USJIyMjIkSRUqVLimdfXo0aNAW25u7nVUDaAkoy8AIF1bX5CTk6OkpKTiLqlY+fv7\nF/nMmpK+vdeyrbj93fKBqDANGzaUJPt/5JSUFNlsNvv05ORk1ahRo8CpdAAAAMUhKSlJYycv0h3V\n6ji7lOuSdjJFb0RK7dq1K9L8SUlJen7hBFX2rlrMld14p1NPKUpTi7ytJT38SQTAP3NLB6JDhw5p\nwYIFCg0Nlbe3t7197969Kl26tB555BHNnz9f27ZtcwhEW7duVYcOHa55ffHx8QXajhw5opCQkOuq\nH0DJRF8AQLr2vuCOanVUrbat0Gm3o8reVXXnvbWcXUaxS0pKUty4F3RXpcrOLuW6HDpzWpr5epED\noBXd0oGoRo0aSkpK0nPPPaeXXnpJd955p3bt2qWYmBg98cQTqlatmgYNGqS3335b9evX1z333KPY\n2FidPHmywI1cAQAAgOtxV6XKanznnc4uA8Xklg5Ebm5uWrJkiaKjozV27FilpaWpRo0aGjx4sIYO\nHSpJGj58uIwxmjRpktLS0tSwYUMtXry4wFDcAAAAAHC5WzoQSVKtWrU0c+bMK053cXFRaGioQkND\nb2JVAAAAAG4HJfrGrAAAAADwVxCIAAAAAFgWgQgAAACAZRGIAAAAAFgWgQgAAACAZRGIAAAAAFgW\ngQgAAACAZRGIAAAAAFgWgQgAAACAZbk6uwAAAAAAt4acnBwlJSU5u4y/xN/fX25ubkWen0AEAAAA\nQJKUlJSkGS/Hqka1us4u5bocO5msFyOkdu3aFfk5BCIAAAAAdjWq1ZVPnYbOLuOmIRChSEr64dNr\nOXRa0rdVuvZDxQAAAFZFIEKRJCUl6fmFE1TZu6qzS7lmp1NPKUpTi3zoNCkpSXHjXtBdlSoXc2XF\n49CZ09LM16/pUDGuHwEatwv+LwOwKgIRiqyyd1XdeW8tZ5dxU9xVqbIa33mns8tACZCUlKSxkxfp\njmp1nF3KdUk7maI3Iq/tXGvcnqx43QAASAQiAPjL7qhWR9Vq25xdBvCXWe26AQCQuA8RAAAAAAsj\nEAEAAACwLAIRAAAAAMsiEAEAAACwLAIRAAAAAMsiEAEAAACwLAIRAAAAAMsiEAEAAACwLAIRAAAA\nAMsiEAEAAACwLAIRAAAAAMtydXYBAJwrJydHSUlJzi7juvn7+8vNzc3ZZQAAgBLqtglEsbGxWrp0\nqU6cOKE6depo+PDheuihh5xdFnDLS0pK0oyXY1WjWl1nl3LNjp1M1osRUrt27ZxdCgAAKKFui0C0\nbNkyRUdHa8qUKWratKm2bNmiF154QXfccYeCgoKcXR5wy6tRra586jR0dhkAAAA33W0RiN566y39\n85//VLdu3SRJPj4+SkpK0oIFCwhEAAAAAK6oxA+q8NNPP+nEiRMKDAx0aA8MDNSePXuUm5vrpMoA\nAAAA3OpKfCBKSUmRi4uLatWq5dDu7e2tixcvKjU11UmVAQAAALjVlfhAlJWVJUny8PBwaM9/nJmZ\nedNrAgAAAFAy3BbXEN0oPXr0KNB2/vx5SdLx48cd2k+dOqXTv/ygC+ezbkptN9rZ347q1KnmOnLk\nSJHmP3XqlH49eFx5WSXvFMS0Y6d16tSpa9rW/b/9qoy8vGKurHiknk3TPde4vSlHv1fO+ZL348HJ\nU0d16lSTK25r9erV5ep67d0cfcGV0ReUHFbqC6Sr9wf0BX+OvuDK6AtKluv5buBijDE3o7jijb0B\nhQAAIABJREFUsmXLFg0bNkwJCQm65557CrR/9NFHuvvuu4u0rMI6vqysLB0+fPhGlQvgJtqwYYNq\n1659zc+jLwBuL/QFAPIV1h+U+CNEdevWlTFGKSkpDoHo8OHDcnV1VZ06dYq8rPj4+AJtOTk52rt3\nr7y8vFS6dOkbUnNRDBs2TJK0YMGCm7ZOZ7HStkps781UvXr163oefYHzWGl7rbStEn3BX8X/l9uX\nlbZVcv72FtYflPhA5OPjI29vb23btk0hISH29i1btiggIEBlypT5S8t3c3NTy5Yt/2qZ16xs2bKS\ndF2/aJU0VtpWie0tqegLbg4rba+VtlW6fbaXvuDmsNL2WmlbpVtze0t8IJKkESNGaMKECWratKla\ntWqljz76SLt27dKyZcucXRoAAACAW9htEYi6deumc+fOad68eTp58qR8fHw0f/58+fn5Obs0AAAA\nALew2yIQSVLv3r3Vu3dvZ5cBAAAAoAQp8aPMAQAAAMD1KvE3ZgUAAACA60UgAgAAAGBZBCIAAAAA\nlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIA\nAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZ\nBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAA\nAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUg\nAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAA\nlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIAAAAAlkUgAgAAAGBZBCIA\nAAAAlkUgAgAAAGBZBCIAAAAAlkUgsoCff/5Z48ePV0hIiHx9fRUQEKAnn3xSy5YtU25urn2+Xbt2\nyWazKSkpyYnV3l769eun/v37O7WG1atXq2HDhvrll1+cWgduL/QrzhMeHq6QkBBnl4ESin0XKMjV\n2QWgeK1du1YvvfSS6tWrp2HDhunuu+/W6dOntWnTJr3yyiv68MMPtWjRInl6ekqSXFxcnFzx7WXq\n1Kk3fZ3Dhg1T48aNFRoaKkkKDg7WqlWrVK1atSIvY9++fXrsscf03XffFVeZKMHoV5xr5MiRysrK\ncnYZKIHYd53vej9fX375ZWVlZenVV18tpsqsjUB0Gzt06JDCw8PVunVrLViwQK6u/3u7O3XqpHbt\n2mns2LGaOXOmIiMjnVjp7cvHx+emru/ixYv66quv1LhxY3tbxYoVVbFixWtaTlJSEh+EKBT9ivPV\nrFnT2SWgBGLfvTVc7+drUlKS/v73vxdDRZA4Ze629vbbb+v333/XtGnTHDq+fF26dNErr7yiZ555\n5orL+O677/Tss8/K399fTZs21cMPP6wlS5Y4zJObm6vo6Gh17txZfn5+CgoK0tixYx1O0Tp27Jie\nf/553XffffL19VVwcLBee+01h8PzN1pwcLDGjRunDRs26MEHH5Sfn5+efPJJpaSk6KefflL//v3V\nrFkzde7cWevWrbM/b/Xq1YWeJjB37lzZbDaH7Vq0aJG6du2qpk2bqk2bNho6dKjDrz6FnTL3ySef\n6PHHH1fTpk0VHBysV155xeHX3osXL+qtt97SAw88oMaNG6tt27YKDQ3V4cOHHZZjs9k0c+ZMvfzy\ny2rRooWWLVumv//97zp79qzmzZunhg0bKikpyb49Ra07PDxc06dPt6/D2af84dZCv3J9/YoknT59\nWhEREWrbtq0aN26s9u3ba+rUqcrMzJQkrVy58oqnKI0cOVJt2rTR77//rrCwMAUHBztM3717t55+\n+mk1a9ZMzZo10z//+U/t3Lmz2F4HlDxW33cPHjyo4cOHKygoSH5+fnrggQe0YMECGWMk/e8UwU8+\n+USvvfaaAgMD5efnpz59+uj77793WNaRI0c0duxYtWnTRo0bN9b999+vN954Q3l5efZ58r8zfP31\n1+ratat69ux5xc/XP3s9bDabfvjhB/sp8GvWrLG/1lFRUQoODrb3KZd/p5CK9r7l13v06FENGTJE\nzZo1U4cOHbRq1SpduHBB06ZNU2BgoFq3bq0JEyYU63vlDBwhuo1t3bpVrVq10p133nnFebp3737F\naadOndJTTz2lOnXqKDo6Wu7u7lq7dq2mTZumMmXK6Mknn5QkRUdHa9WqVQoLC1P9+vV14sQJzZs3\nTwMHDrR/IRgxYoTy8vI0ceJEVa1aVd99953eeOMNZWVlacqUKYWuf968eZo3b94V63NxcdGGDRuu\n+mvpoUOHFBsbq/DwcKWnpysyMlLjx49XVlaW+vfvrxEjRmjOnDl68cUX1apVK1WpUsW+7MLW98f2\nJUuWaNasWXr++efl6+urs2fPatGiRXr66ae1ceNGeXh4FFjGJ598ojFjxuif//ynnn/+eR07dkzT\np09XSkqKFixYIEmaNWuWFi1apLFjx8rf31/Hjh3TjBkzNHjwYH300UcqV66cfXmJiYmqXbu2YmJi\nVKdOHdWqVUvDhg1Tz5499eSTT8rHx0dHjhy5prpHjhypM2fOaMuWLYqPjy90O2Bd9CvX16/k5ubq\nqaee0pkzZzR69GjdddddOnjwoGbOnKnvv/9eS5cu1f3336/Jkyfr888/l7+/v319OTk52r59ux55\n5BGVLl26QF/07bff6umnn5a/v7/mzJkjFxcXxcXFafDgwYqNjXVYFqzLyvtubm6uBg4cqNq1a+vV\nV1+Vp6en9uzZo7lz58rFxUVDhw61zzt//nz5+fkpOjpaaWlpioyM1JAhQ/TZZ5+pbNmySktL05NP\nPqny5ctr/PjxqlGjhr755hvNmjVLv/zyi15//XV7Pfmvx8iRI3XXXXfpb3/7W6Gfr3/2eqxatUqP\nP/64OnbsqJEjR6pWrVqSpLFjxyoxMVGjRo1S48aN9cMPP2jWrFn66aefFBMTc03vW36/MnHiRHXu\n3FkDBw7UnDlzFBkZqcTERFWpUkWzZ8/Wl19+qXnz5unuu+/W008/fcX3o6QhEN2mMjMzderUKT38\n8MPXvYzU1FQ1a9ZMI0eOVKNGjSRJLVq00IYNG/Txxx/bd6KdO3cqMDBQjz/+uP25DRo00ObNm5WV\nlaULFy5o//79ioiIUKdOnSRJTZs2lbe3t06ePHnF9ffu3ds+/5X82XUxP/zwgzZu3Gifb/v27UpI\nSNDrr79uf21GjhypAQMG6Ntvv1XHjh3/5FX5n507d+ree+916BB8fX0VHx+vzMzMQoPEvHnzFBQU\npIkTJ9rbMjMzNX/+fKWmpsrb21vnzp1T3759NXjwYEmXXquMjAxFRkbqm2++UatWrezPPXz4sOLi\n4lS2bFlJ0j333GN/Xa50aP3P6q5Zs6YqVaokSRyehwP6lUuup19Zu3atDh48qH/961/2fqZly5Yy\nxmjKlCn68ssv1bp1a7Vp00YbNmxQeHi4fX1btmxRTk7OFV/3OXPmqHr16lq4cKG9LwgMDNSDDz6o\nuXPn6t///vdVtwe3P6vvuwcPHtSJEyc0adIk3XfffZKk5s2bq3bt2gWOlpUtW1Yvv/yy/XF2drbG\njx+vjRs3qkuXLlq6dKl+++03vfPOO7r33nslXdqXz5w5o5iYGI0aNUre3t6SLoWMtm3b6sEHH7Qv\n7/LP1/T09D99PfJPg7/jjjvsz/vmm2+0YcMGTZ48Wb169bLX4eHhofDwcCUlJcnf37/I71u+gIAA\n+/JGjhypp59+WmfOnNHMmTMlSf7+/nr//fe1Z88eAhFuffmHS//Kr/vNmjWzH7XI5+Liotq1a+v4\n8eP2tqpVq+qLL77Qp59+quDgYLm6usrHx8e+o+Tm5srDw0MrV66Un5+fmjRpIkkKCgq66vqrVKli\nP2Jzve666y6HDrJ69eqSLn1ZyFejRg0ZY3T27NlrWnbVqlW1fft2rVy5Uo888ojKlSunypUra9Cg\nQYXOf/LkSR08eFCPPvqoQ3u/fv3Ur18/++Px48cXeK63t7eMMTp27JhDu5+fn/0LUHHVDeSjX7nk\nevqVL7/8Uq6urvYvY/k6dOigyZMna/fu3WrdurUefPBBRURE6LvvvpPNZpMkffrpp/Ly8ir0SM+F\nCxe0a9cuPfHEEw59QalSpdSuXTutXLnyL20rbg9W33crV66sUqVKKTY2VnXq1NHdd98t6dJpgpe7\n/IfRgIAAGWN08OBBSZdOratZs6Y9DOXr0KGDFi1apP/+97/2QCTJ4UfMwri7u1/X67Fjxw65uLio\nc+fOBeowxujrr7+Wv79/kd+3fG3atLH/u0aNGpIc+zbpUp93rd+ZbnUEottU/ggxf/U/7KpVq7Rq\n1Sr9/PPPDsvKP1wrSVOmTNGIESM0evRoubu7q1WrVnr44YfVtWtXlSpVSmXLltXs2bMVFhamJ554\nQlWrVtV9992nHj16qGXLln+pvj+T/0tMvjJlyki61Dnmy/91KP884qJ6/vnndfjwYU2cOFFTp05V\nixYt1KVLF3Xv3r3QkJL/S88f112YI0eOaOHChdq+fbt+/fVXXbhwQdKlDuzyGv9sWTeibiAf/col\n19OvnDx5UpUrV1bp0qUdnuvl5WWfLkn333+/IiMj9fnnn8tmsykvL09btmxx+LX9j9LS0pSbm6u4\nuDgtW7bMYVr+KTDp6enXPLAKbi9W33erV6+uadOmadq0aXrooYdUq1YtdejQQU888YT9h4d8l59S\nmB/Czpw5I+nSvlrYaYeX78v5/uxz+npfjxMnTsgYo4CAgALTXFxcdOLECfvjorxvhdWb349dHkRd\nXV118eLFq25XSUMguk2VL19e1atX1969e6/peX/8wh0bG6vp06crJCREzz77rLy8vFSqVCmNHz9e\naWlp9vlq166tDz74QElJSdq4caM2btyo559/Xu+//74WL14sSWrXrp02btyozZs3a/Pmzdq4caPi\n4+MVGhpqHx66sFr+bIe7/MtFcbo8jFSsWFFLlizR3r179fnnn2vTpk2KjIzUsmXLtGLFCrm7uzvM\nX6rUpTFM/njR5eWys7PVp08fnTt3TqNHj9bf//53ubu76//9v/+nCRMmFJi/sAtj/8y11g3ko1+5\nflcaVSr/tcnvH/72t78pKChIn332mUJDQ7Vjxw5lZWWpa9euV11+t27d9NRTTxU6rXz58n+hctwO\n2HcvXR91//33a8OGDdq8ebNWr16tuLg4vfLKKw7XTl2+r+a/BvntRd2X8xXlc/p6Xo/8WlasWFHo\nj5l33HGHpKK/b1djhVFnCUS3seDgYC1fvlw//fST/fDw5V577TVVrVpVAwcOLDAtISFB1apV0/z5\n8x3a80dEupy/v7/8/f310ksvad68eZo/f76++OIL++HXcuXK6YEHHtADDzygvLw8Pfvss1q4cKGG\nDBlS6M48f/78v3zx8/XI3/Hzj8zku9K5zY0bN1bjxo01ZswYrVmzRmFhYVq7dq0ee+wxh/nyT6v5\n9ddfHdovXryorKwsubu768svv9SJEyc0ZcoU9ezZ0z7PDz/88Je363rrBv6IfuX6VK9eXV988YUu\nXLjg8AUp/1fcP/7i/OCDDyo8PFxHjhzR+vXr5e3tLV9f30KXW6lSJZUrV04XLlwo8Es38Efsu5eO\nlD366KN69NFHlZmZqX79+mnOnDkOgejUqVMOz/ntt98k/e/ISfXq1ZWcnFxg2YXty9fiWl+P/NPZ\n7rjjDtWpU+eKy73W982qnDrsdl5enubNm6cHHnhAzZo108MPP6y4uDj7dJvNVuCvYcOG9l8YJOnc\nuXOaOHGiAgIC5Ovrq759+2r//v3O2JxbzjPPPCM3NzeFh4crOzu7wPS1a9fq3Xff1enTp+1tf/wV\n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\nacaMGXJ3d1dMTIwkKT4+Xr1797Z5X+U9LpIUFxen7OxsJSYmysfHRwsXLtTQoUO1bt26Kjeko/r8\n/PyUmJio8ePHq1+/fhoyZIhuueUWFRQU6Msvv1R6erp69eqlcePGWd9z8ZK5O++8U2lpaUpNTVXH\njh21e/duff7553rwwQe1bt06bdy4UZ07d9a3336rHTt26Pnnn1fbtm1VUFCg//3f/5Wvr6/uvvtu\nnTlzRn/729/0yy+/aPDgwWrWrJkOHTqk1NRUdenSRd7e3pesv1mzZtZNDq6Fj4+P9u3bp/T0dLVu\n3doafHr37q1x48bpxIkTVf67LC8v15tvvqmCggJFRkbKZDJp27Zt+umnnzRq1Kir+vxnnnlGa9eu\n1ahRozRy5Eg1btxYW7Zs0VdffaW4uDi5urpKkho1aqQ777xTy5cvV5s2baxjbtu2rZo1a6Zly5ap\na9eu1/x7AAAAaOjsFoiKior06aefasKECerVq5ck6emnn9aWLVuUnp5uDURms/myX2wPHjyo9evX\n691337UuCZo+fbq2bNmitLQ0xcbG1s1gGqju3bvr888/1wcffKCFCxfqxIkT8vLyUmBgoBISEqoE\ngouvEI0dO1b5+fl67733JF3Yfvr9999XXl6edu3apQkTJujDDz/UokWLlJCQoDlz5ig/P1/XX3+9\nOnXqpOnTp6tJkyZq0qSJPvroI7399tt65ZVXdObMGfn6+qp3794aPXp0rY199OjRmjRpkuLj4zVw\n4EBrIOratavc3d31yy+/VFkuN2TIEDk5OemTTz5RamqqnJ2dFRAQoDfffFN9+vS5qs/38/PTkiVL\nNGfOHE2cOFFnz55VYGCgXn/99Sq760VERGjjxo1Vthnv1KmTvvrqK+4fAgAAuAKT5eI/69ex06dP\ny9PT0+YZLRMmTNAPP/yg1atXKzg4WH/5y1/Ur1+/S74/LS1Nr732mnbv3i13d3dr+7hx4/Trr79q\n6dKltT4GAAAAAI7LrvcQeXt724Sh0tJSffPNNwoNDa3W+w8fPixvb2+bMCRJ/v7+ysnJqdFaAQAA\nADQ89WqXuWnTpqmwsFDPPvustW3btm0aNGiQIiMj1adPH3388cfWY8XFxfLw8KhyHk9Pz8vuZgYA\nAAAAley6qcLFpkyZos8//1zz58+Xn5+fpAsPrywvL9f48eNlNpu1efNmvfHGG8rPz+f+IAAAAAB/\n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\n9Ndff7nfs3fvXjkcDuXl5Xlca9u2bXI4HHI6nR79du/erczMTMXHx+vuu+/W448/roKCAo/37ty5\nUw8//LCGDBmixMTEZtdusmPHDk2ZMkUxMTGKi4tTcnKyfvjhB48+06ZN05QpU5SXl6fRo0dr2bJl\nSkxM1KRJk5pdr6KiQtHR0VqxYkXrPzwAAAC0CYEIXqO4uFg2m002m02S9Nprr2n16tVKSkpSdna2\nFi9erJKSEk2dOlWnTp1yv+9aS9mu1v7++++rtLRUb731ltLS0lRSUqI5c+aosbFRklRUVKR58+bp\n5ptvVmZmplJSUpSbm6tffvnF4zrff/+9XnjhBQ0YMEDZ2dlauXKl/Pz89PTTT+vgwYMefWtqarRp\n0yYtX75cycnJSkpK0h9//OER7KRLAUuSkpKSWvnJAQAAoK1YMgdDuFwu95+rqqq0fft27dq1S0uX\nLpUklZaW6pNPPtGTTz6pOXPmuPva7XaNHz9emzZt0rx585pdqyX3feutt9zHBw8eVFZWloqKimS3\n2/Xxxx+rsbFRK1asUN++fSVJw4cP13333edxnePHj+u+++7TG2+8oW7dukmS+vXrp8TERO3YsUOD\nBw929y0uLtaWLVsUExMj6VLgeffdd/XZZ59p/vz57n47duxQdHS0Bg0a1OLxAAAA4PoQiNDpXC6X\nEhISPNqsVqtmzJih8ePHS5J7qdvYsWM9+t12220KDw/Xvn372nTvf/3rXx7H4eHhkqQzZ85IkgoK\nCjRgwAB3GJKknj17KiYmxl2TJE2ePFmTJ0/2uFZERISkS2Hpcv7+/u4wJF0KTrGxsdq+fbs7EFVV\nVennn39WSkpKm8YFAACAtiEQodNZLBZlZWUpODhYklRfX6+SkhKtXbtWX3/9tdauXauKigpJ8ggm\nTYKDg93nW6vpnk38/C79E2iaZTp16pR797vLhYSEeBzX1dUpKytLX331lcrKylRXV+ceW9PyuyY9\ne/Zsdr2kpCSlpqZq3759io2NVX5+viTpoYceatO4AAAA0DYEIhjitttu89hl7q677lJ8fLzi4+OV\nkZEhu91+zfe6XC7dcMM/P/52rWV0Ldk6+2p9rrzeggULtGvXLj311FOKj49XUFCQJGnixInN3tsU\nui6XmJiopUuX6vPPP1dsbKx27NihuLi4ZsELAAAAHYtNFeA1goKCNGDAAP3xxx8KDQ2Vy+VSeXl5\ns34VFRXumaOmYNTQ0ODR5+TJk22qoVevXjp9+nSz9tLSUvefz549q507d+rBBx9USkqK4uLi5HA4\n1KtXrxbfp0ePHkpISNA333yjqqoq/fjjj2ymAAAAYAACEbxGTU2NDh8+rNDQUI0YMUJWq1XffPON\nR5/CwkKVlZVp5MiRkqSbb75ZklRWVubRb+fOnW2q4fbbb1dxcbFHEKusrNTvv//uPr548aJcLlez\n2Zx169ZJUrMlc9eSlJSkqqoqpaWlyWq1aty4cW2qGQAAAG3HkjkYorCwUFVVVZIuBYyjR49q3bp1\namho0OzZs9W3b18lJydr8+bNstlsio2NVXl5uVavXq1+/fopOTlZ0v9vsvDxxx8rKipKNptN27Zt\nk7+/f4truXw53KOPPqotW7bo+eef19y5c9XQ0KDMzExFRkbq0KFDkqRbbrlFdrtdn332mYYOHape\nvXpp+/bt+vvvv9W/f3/9+uuv7meD/sm9996r3r1768svv9T999+vHj16tPZjBAAAwHUiEMEQl2+l\nbbVaFRISomHDhmnJkiWKjo6WJC1atEghISH69NNPtXr1agUFBWnMmDFasGCBOzxYrVZlZGQoLS1N\nixYtUlBQkB5//HElJSV57Aontez7iu644w698847evfdd/Xcc8+pX79+evbZZ1VYWKiioiJ3vxUr\nVmjx4sV6+eWXFRQUpIcfflipqanKy8vT22+/rYULF2rXrl3/eF+r1arx48dr/fr1mjBhQus/RAAA\nAFw3i6s1X+ICoF1lZmZq8+bN2r1791U3XwAAAEDH4hkiwCBnzpzR5s2b9dhjjxGGAAAADMJPYUAn\nO3HihA4dOqT33ntPfn5+mjlzptElAQAAmBYzREAny8vL06xZs3ThwgXl5OTopptuMrokAAAA0+IZ\nIgAAAACmxQwRAAAAANMiEAEAAAAwLQIRAAAAANMiEAEAAAAwLQIRAAAAANMiEAEAAAAwrf8DCmfd\nVczabngAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9983e9a610>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.factorplot(x=\"Boundary\", y=\"tag\", col=\"Class\", data=df_t, col_wrap=3, kind=\"bar\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Hashtags and Mentions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import regex as re"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "URL_REGEX = re.compile(r'^http[s]?://')\n",
    "assert URL_REGEX.match(\"http://Google.com\") is not None\n",
    "assert URL_REGEX.match(\"https://Google.com\") is not None\n",
    "assert URL_REGEX.match(\"abchttps://Google.com\") is None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "REPEATED_CHAR_REGEX=re.compile(r'^[\\.\\,!\\?\"\\':;_\\-]{2,}$')\n",
    "assert REPEATED_CHAR_REGEX.match(\"!\") is None\n",
    "assert REPEATED_CHAR_REGEX.match(\"!!\") is not None\n",
    "assert REPEATED_CHAR_REGEX.match(\"!?...!\") is not None\n",
    "assert REPEATED_CHAR_REGEX.match('\".') is not None\n",
    "assert REPEATED_CHAR_REGEX.match(\"aaaaa\") is None\n",
    "assert REPEATED_CHAR_REGEX.match('\\\".') is not None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "WORD_REGEX=re.compile(r'^([A-Za-z]+[\\'\\-\\.]?)+$')\n",
    "assert WORD_REGEX.match(\"ABC\") is not None\n",
    "assert WORD_REGEX.match(\"ABC-D\") is not None\n",
    "assert WORD_REGEX.match(\"ABC'D\") is not None\n",
    "assert WORD_REGEX.match(\"ABC.DFC.\") is not None\n",
    "assert WORD_REGEX.match(\"9-1\") is None\n",
    "assert WORD_REGEX.match(\"A.B.C\") is not None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "PUNCT_REGEX=re.compile(ur'^\\p{P}$')\n",
    "assert PUNCT_REGEX.match(\".\") is not None\n",
    "assert PUNCT_REGEX.match(\"?\") is not None\n",
    "assert PUNCT_REGEX.match(\"!\") is not None\n",
    "assert PUNCT_REGEX.match(\"aa\") is None\n",
    "assert PUNCT_REGEX.match(\"a.\") is None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "NUMBER_REGEX=re.compile(r'^(([0-9]*[.]?[0-9]+)|([0-9]+[,]?[0-9]+))$')\n",
    "assert NUMBER_REGEX.match(\"123\") is not None\n",
    "assert NUMBER_REGEX.match(\"123,4\") is not None\n",
    "assert NUMBER_REGEX.match(\"12.5\") is not None\n",
    "assert NUMBER_REGEX.match(\".5\") is not None\n",
    "assert NUMBER_REGEX.match(\"12-A\") is None\n",
    "assert NUMBER_REGEX.match(\",55\") is None\n",
    "assert NUMBER_REGEX.match(\"5.5.55\") is None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_token_type(t):\n",
    "    if len(t.token) > 1 and t.token[0] in ['\\'', '\\\"', '(', '-']:\n",
    "        return get_token_type(Tag(t.token[1:], t.tag))\n",
    "    if PUNCT_REGEX.match(t.token):\n",
    "        return \"Puctuation\"\n",
    "    if len(t.token) > 1 and t.token[0] == \"@\":\n",
    "        return \"Mention\"\n",
    "    if len(t.token) > 1 and t.token[0] == \"#\":\n",
    "        return \"Hashtag\"\n",
    "    if len(t.token) > 1 and t.token[0] == \"$\":\n",
    "        return \"Money\"\n",
    "    if URL_REGEX.match(t.token):\n",
    "        return \"URL\"\n",
    "    if NUMBER_REGEX.match(t.token):\n",
    "        return \"Number\"\n",
    "    if WORD_REGEX.match(t.token):\n",
    "        return \"Word\"\n",
    "    if t.token.isalnum():\n",
    "        return \"Alphanumeric\"\n",
    "    if REPEATED_CHAR_REGEX.match(t.token):\n",
    "        return \"Repeatedchar\"\n",
    "    return \"Other\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Type</th>\n",
       "      <th>Counts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Word</td>\n",
       "      <td>36523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Puctuation</td>\n",
       "      <td>4848</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Mention</td>\n",
       "      <td>1300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Other</td>\n",
       "      <td>1029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Repeatedchar</td>\n",
       "      <td>1010</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Number</td>\n",
       "      <td>657</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Hashtag</td>\n",
       "      <td>449</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>URL</td>\n",
       "      <td>448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Alphanumeric</td>\n",
       "      <td>185</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Money</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           Type  Counts\n",
       "0          Word   36523\n",
       "1    Puctuation    4848\n",
       "2       Mention    1300\n",
       "3         Other    1029\n",
       "4  Repeatedchar    1010\n",
       "5        Number     657\n",
       "6       Hashtag     449\n",
       "7           URL     448\n",
       "8  Alphanumeric     185\n",
       "9         Money      20"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame(Counter(get_token_type(t) for seq in sequences for t in seq).most_common(), columns=[\"Type\", \"Counts\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "other_tokens = filter(lambda x: get_token_type(x) == \"Money\", (t for seq in sequences for t in seq))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0] ('$100', 2)\n",
      "[1] ('$4T', 2)\n",
      "[2] ('$6', 2)\n",
      "[3] ('$4', 2)\n",
      "[4] ('$5', 2)\n",
      "[5] ('$1497-$3497', 1)\n",
      "[6] ('$15', 1)\n",
      "[7] ('$2/month', 1)\n",
      "[8] ('$$', 1)\n",
      "[9] ('$49', 1)\n",
      "[10] ('$37K', 1)\n",
      "[11] ('$150', 1)\n",
      "[12] ('$320000', 1)\n",
      "[13] ('$1000', 1)\n",
      "[14] ('$1', 1)\n"
     ]
    }
   ],
   "source": [
    "token_counts = Counter(t.token for t in other_tokens).most_common()\n",
    "for i, t in enumerate(token_counts):\n",
    "    print \"[%s] %s\" % (i,t)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Build vocab"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "TYPE_MAPPINGS=OrderedDict({\n",
    "    \"Other\": \"OOV\",\n",
    "    \"Hashtag\": \"#Hashtag\",\n",
    "    \"Mention\": \"@Mention\",\n",
    "    \"Puctuation\": \".\",\n",
    "    \"Number\": \"1111\",\n",
    "    \"Money\": \"$100\",\n",
    "    \"URL\": \"http://URL.com\",\n",
    "    \"Repeatedchar\": \"...\"\n",
    "})\n",
    "\n",
    "def get_vocab(sequences, prepend_extras=True):\n",
    "    excluded_types=set(TYPE_MAPPINGS.keys())\n",
    "    vocab = defaultdict(int)\n",
    "    for seq in sequences:\n",
    "        for t in seq:\n",
    "            t_type = get_token_type(t)\n",
    "            if t_type not in excluded_types:\n",
    "                vocab[t.token] += 1\n",
    "    id2word = [\"OOV\"]\n",
    "    if prepend_extras:\n",
    "        id2word = [\"<MASK>\", \"<BOS>\", \"<EOS>\"] + TYPE_MAPPINGS.values()\n",
    "    id2word.extend([t[0] for t in sorted(vocab.iteritems(), key=lambda x: x[1], reverse=True)])\n",
    "    print len(id2word)\n",
    "    word2id = OrderedDict({k:i for i,k in enumerate(id2word)})\n",
    "    return id2word, word2id, vocab\n",
    "                \n",
    "                \n",
    "            "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8033\n"
     ]
    }
   ],
   "source": [
    "id2word, word2id, vocab = get_vocab(sequences)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "assert len(id2word) == len(word2id)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('Calaman', 1),\n",
       " ('four', 1),\n",
       " ('Does', 1),\n",
       " ('Olympics', 1),\n",
       " ('hanging', 1),\n",
       " ('Until', 1),\n",
       " ('LiLo', 1),\n",
       " ('LAST', 1),\n",
       " ('PAPALOTE', 1),\n",
       " ('otra', 1)]"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Counter(id2word).most_common(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "8023\n",
      "Done\n"
     ]
    }
   ],
   "source": [
    "with open(\"vocab.txt\", \"wb+\") as fp:\n",
    "    for t in id2word:\n",
    "        print >> fp, t\n",
    "print \"Done\"\n",
    "\n",
    "id2word, word2id, vocab = get_vocab(sequences, prepend_extras=False)\n",
    "with open(\"vocab.no_extras.txt\", \"wb+\") as fp:\n",
    "    for t in id2word:\n",
    "        print >> fp, t\n",
    "print \"Done\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Phrase counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def phrases_per_seq(sequences):\n",
    "    count_phrases = []\n",
    "    count_phrase_types = defaultdict(list)\n",
    "    for seq in sequences:\n",
    "        current_phrase_count = 0\n",
    "        phrase_type_count = defaultdict(int)\n",
    "        for t in seq:\n",
    "            if t.tag[0] in (\"U\", \"B\"):\n",
    "                current_phrase_count += 1\n",
    "                phrase_type_count[t.tag[2:]] += 1\n",
    "        count_phrases.append(current_phrase_count)\n",
    "        for k,v in phrase_type_count.iteritems():\n",
    "            count_phrase_types[k].append(v)\n",
    "    return count_phrases, count_phrase_types\n",
    "                "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "count_phrases, count_phrase_types = phrases_per_seq(sequences)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 1476.,   549.,   228.,    95.,    28.,    11.,     7.,     0.,\n",
       "            0.]),\n",
       " array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),\n",
       " <a list of 9 Patch objects>)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxEAAAIhCAYAAAAxajd/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3X+Y1nWd7/EXOPyYcegENJb8ckRUxk3UEE8MUCrkKesq\nmWtb0rU6EAmLXIvZscXVFUTR9HAICS9ZuQzSA3vlJh3xYFmrpuhi9mvVsl3TSwfQ8kcgMgwIOvf5\nw2XO3jsofpmpG/TxuC6vq/ncn/vL+/7GpfOc7/29p1upVCoFAADgbepe6QEAAICDi4gAAAAKEREA\nAEAhIgIAAChERAAAAIWICAAAoJC3FRGlUimLFy9OQ0NDlixZ0uHxe++9NxMnTsyIESMyfvz4rFix\nouzxHTt25LLLLsvo0aMzYsSInHvuuXn88cfL9mzevDkXXnhhRo0alZNOOinTpk3Lxo0b9/+VAQAA\nfxT7jIgtW7Zk6tSpWbt2bQ455JAOj69fvz4XXHBBzjnnnPzgBz/I1KlT8z//5//MnXfe2b5n9uzZ\nWb9+fRYuXJjVq1dnyJAhmTx5cjZv3ty+Z/r06dmwYUOWLVuWVatWJUmmTJmSXbt2dcXrBAAAusg+\nI2LNmjXp0aNHbrvttnTv3nH7ddddl89//vP57Gc/mwEDBuTss8/O4sWLc8wxxyRJnnnmmdx11125\n+OKLM3r06AwbNizz5s1LVVVVeyw88MADeeyxxzJ//vyceOKJaWhoyNVXX53f/e53Wbt2bZe92Kam\npjQ1NXXZ8d5NnLvOcf72n3O3/5y7znH+9p9zt/+cu85x/vZf0XO3z4iYMGFCli5dmtra2g6Pbd68\nOY888kg+/vGPl62PHz8+w4YNS5L88z//c7p3757Gxsb2x6uqqjJq1Kg8+OCDSd64mtG/f/8ce+yx\n7Xv69euXhoaG9j0AAMCBYZ8RMXDgwDd97IknnkiStLW1ZerUqRk9enQ++clPll092LhxY/r27Zve\nvXuXPXfw4MFpbm5u3zNgwIAOx/+PewAAgANDpz6dafPmzSmVSpk7d24mTpyYm266KePGjctXv/rV\n9pDYvn17qqurOzy3pqYmLS0tb3sPAABwYKjqzJNfe+21JMkXv/jFfPKTn0ySHHfccXnsscfy7W9/\nu30NAAB45+hURBx66KHp1q1bjjvuuLL1kSNH5tvf/naSpLa2dq9XE7Zt25Y+ffq079m0adNb7ilq\nbzeG/Pa3v82AAQPS3Ny810+a4s3t+ZSsvf3/xL45f/vPudt/zl3nOH/7z7nbf85d5zh/++/VV19N\nc3NzzjrrrA4fprR69eoO+zsVEfX19SmVStm6dWvZeltbW/uN2PX19dm6dWtaWlrKbs5ubm7O0KFD\n2/c89NBDHY7f3NychoaGzoxYZsCAAXnmmWdyxhlndNkx323Gjx9f6REOas7f/nPu9p9z1znO3/5z\n7vafc9c5zt/+27FjRw499NB97utURBx11FEZMGBA7rnnnpx88snt67/4xS/aP2lpzJgxSZL7778/\nZ555ZpKktbU1Dz/8cKZPn54kGTduXG688cY8+uijGTFiRJLkueeeyxNPPNG+p6i9FVNzc3POOOOM\nrFy5Mh/4wAf267gAAPBO8/vf/z5/+Zd/mRtvvDFHHHHEPvfvMyK2bt2a3bt3p1QqJXkjAF566aUk\nb3wM68yZMzNnzpwcddRROfnkk7N69er88pe/zLe+9a0kb3y608SJE7NgwYLU1dWlrq4uixYtSnV1\ndSZNmpQkOfnkk3PKKadkzpw5ueKKK9KzZ89ceeWVOeaYY7r0qsGetzB94AMfyKBBg7rsuAAA8E7w\ndt/y3620pw7exOc///n87Gc/K1srlUrp1q1b7r777gwYMCDf+c538q1vfSvPPfdchgwZkosuuiin\nnnpq+/5du3bl2muvzZ133pnW1taMHDkyl1xySfvbmZLklVdeyfz583Pvvffm9ddfz9ixY3PppZem\nrq6uwMt+a5s2bcr48eNz9913iwgAAPh3Rb9P3mdEvJOICAAA6Kjo98md+j0RAADAu4+IAAAAChER\nAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgEJEBAAAUIiIAAAAChERAABAISICAAAoREQA\nAACFiAgAAKAQEQEAABQiIgAAgEJEBAAAUIiIAAAAChERAABAISICAAAoREQAAACFiAgAAKAQEQEA\nABQiIgAAgEJEBAAAUIiIAAAAChERAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgEKqKj1A\nJVx0ydXpXV1T6TEOOmeeMS6fbfp0pccAAKDC3pURsaXm5PSo6VfpMQ469617SEQAAODtTAAAQDEi\nAgAAKEREAAAAhYgIAACgEBEBAAAUIiIAAIBCRAQAAFCIiAAAAAoREQAAQCEiAgAAKEREAAAAhYgI\nAACgEBEBAAAUIiIAAIBCRAQAAFDI24qIUqmUxYsXp6GhIUuWLHnTfc8991xOOumkfOELXyhb37Fj\nRy677LKMHj06I0aMyLnnnpvHH3+8bM/mzZtz4YUXZtSoUTnppJMybdq0bNy4cT9eEgAA8Me0z4jY\nsmVLpk6dmrVr1+aQQw55y73z5s3La6+91mF99uzZWb9+fRYuXJjVq1dnyJAhmTx5cjZv3ty+Z/r0\n6dmwYUOWLVuWVatWJUmmTJmSXbt2FX1NAADAH9E+I2LNmjXp0aNHbrvttnTv/ubbf/SjH+WRRx7J\naaedVrb+zDPP5K677srFF1+c0aNHZ9iwYZk3b16qqqraY+GBBx7IY489lvnz5+fEE09MQ0NDrr76\n6vzud7/L2rVrO/kSAQCArrTPiJgwYUKWLl2a2traN93T2tqa+fPn52tf+1oOPfTQssf++Z//Od27\nd09jY2P7WlVVVUaNGpUHH3wwSbJ+/fr0798/xx57bPuefv36paGhoX0PAABwYNhnRAwcOHCfB1m0\naFGGDBmSiRMndnhs48aN6du3b3r37l22Pnjw4DQ3N7fvGTBgQIfn/sc9AADAgaGqswd4/PHH84//\n+I9ZvXr1Xh/fvn17qqurO6zX1NSkpaXlbe8BAAAODJ2KiFKplDlz5mTy5Mk58sgju2qmLtHU1NRh\nzU3aAADw5qZPn56ePXuWre3tYkGnfk/EypUr09LSkunTp7/pntra2r1eTdi2bVv69OnztvcAAAAH\nhk5difjhD3+YDRs25KSTTmpfa2trS6lUygc/+MHMnz8/9fX12bp1a1paWspuzm5ubs7QoUOTJPX1\n9XnooYc6HL+5uTkNDQ37NdveimnTpk0ZP378fh0PAADe6ZYuXZpBgwbtc1+nIuLqq6/Ojh07yta+\n8Y1v5IUXXsjXv/71vP/978/WrVuTJPfff3/OPPPMJG98mtPDDz/cfgVj3LhxufHGG/Poo49mxIgR\nSd74xXVPPPHEW17lAAAA/vT2GRFbt27N7t27UyqVkrwRAC+99FKS5PDDD+/wuyPe8573ZNu2bTnq\nqKOSvPFWpYkTJ2bBggWpq6tLXV1dFi1alOrq6kyaNClJcvLJJ+eUU07JnDlzcsUVV6Rnz5658sor\nc8wxx+SMM87o0hcMAAB0zj7viZg5c2bGjRuXj3zkI9m9e3eWL1+esWPHZty4cfn973//tv6QuXPn\n5vTTT8+sWbNy1llnZdu2bVmxYkXZ25u++c1v5phjjsmUKVNy9tlnp2/fvlm2bNlb/oI7AADgT69b\nac8lhneBPfdEHHn67PSo6VfpcQ46R7T9JEu+cVWlxwAAoIvt+T757rvvflv3RPgxPwAAUIiIAAAA\nChERAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgEJEBAAAUIiIAAAAChERAABAISICAAAo\nREQAAACFiAgAAKAQEQEAABQiIgAAgEJEBAAAUIiIAAAAChERAABAISICAAAoREQAAACFiAgAAKAQ\nEQEAABQiIgAAgEJEBAAAUIiIAAAAChERAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgEJE\nBAAAUIiIAAAAChERAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgEJEBAAAUIiIAAAAChER\nAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgELeVkSUSqUsXrw4DQ0NWbJkSdljLS0tufLK\nKzN+/PicdNJJaWpqyg9+8IOyPTt27Mhll12W0aNHZ8SIETn33HPz+OOPl+3ZvHlzLrzwwowaNSon\nnXRSpk2blo0bN3by5QEAAF1tnxGxZcuWTJ06NWvXrs0hhxzS4fGvfOUr+fGPf5wrrrgit99+e8aO\nHZsLLrggDz30UPue2bNnZ/369Vm4cGFWr16dIUOGZPLkydm8eXP7nunTp2fDhg1ZtmxZVq1alSSZ\nMmVKdu3a1RWvEwAA6CL7jIg1a9akR48eue2229K9e/n2J598Mg888ED+9m//No2NjRkyZEguvPDC\n1NfX54477kiSPP3007nrrrty8cUXZ/To0Rk2bFjmzZuXqqqq9lh44IEH8thjj2X+/Pk58cQT09DQ\nkKuvvjq/+93vsnbt2j/CywYAAPbXPiNiwoQJWbp0aWprazs8NmzYsDzwwAP56Ec/Wrb+vve9L1u2\nbEmSrF+/Pt27d09jY2P741VVVRk1alQefPDB9j39+/fPscce276nX79+aWhoaN8DAAAcGPYZEQMH\nDnzLx/v371/2NqcXX3wxv/rVr3LiiScmSTZu3Ji+ffumd+/eZc8bPHhwmpub2/cMGDCgw7H/4x4A\nAODA0KWfzvT666/na1/7Wvr06ZOzzz47SbJ9+/ZUV1d32FtTU5OWlpa3vQcAADgwVHXVgXbt2pW/\n/uu/zqOPPprly5enT58+XXXo/dLU1NRhzU3aAADw5qZPn56ePXuWra1evbrDvi65ErFz585MmzYt\n//Iv/5Lly5dnxIgR7Y/V1tbu9WrCtm3b2kPj7ewBAAAODJ2+EtHW1pZZs2blqaeeyqpVqzJ06NCy\nx+vr67N169a0tLSU3Zzd3Nzcvre+vr7sI2H/456Ghob9mmtvxbRp06aMHz9+v44HAADvdEuXLs2g\nQYP2ua/TVyIWLVqUf/mXf8mKFSs6BESSjBkzJkly//33t6+1trbm4YcfzqmnnpokGTduXF555ZU8\n+uij7Xuee+65PPHEEx0++QkAAKisfV6J2Lp1a3bv3p1SqZTkjQB46aWXkiSvvvpqvvWtb+Wv//qv\n8573vKd9PUm6d++efv36ZeDAgZk4cWIWLFiQurq61NXVZdGiRamurs6kSZOSJCeffHJOOeWUzJkz\nJ1dccUV69uyZK6+8Msccc0zOOOOMP8brBgAA9lO30p46eBOf//zn87Of/axsrVQqpVu3bpk5c2aW\nLFmy1+cNGDAgd999d5I3bmi+9tprc+edd6a1tTUjR47MJZdcUnbl4pVXXsn8+fNz77335vXXX8/Y\nsWNz6aWXpq6urrOvsd2etzMdefrs9Kjp12XHfbc4ou0nWfKNqyo9BgAAXWzP98l3333323o70z4j\n4p1ERHSOiAAAeGcqGhFd+nsiAACAdz4RAQAAFCIiAACAQkQEAABQiIgAAAAKEREAAEAhIgIAAChE\nRAAAAIWICAAAoBARAQAAFCIiAACAQkQEAABQiIgAAAAKEREAAEAhIgIAAChERAAAAIWICAAAoBAR\nAQAAFCIiAACAQkQEAABQiIgAAAAKEREAAEAhIgIAAChERAAAAIWICAAAoBARAQAAFCIiAACAQkQE\nAABQiIgAAAAKEREAAEAhIgIAAChERAAAAIWICAAAoBARAQAAFCIiAACAQkQEAABQiIgAAAAKEREA\nAEAhIgIAAChERAAAAIWICAAAoBARAQAAFCIiAACAQkQEAABQiIgAAAAKEREAAEAhIgIAAChERAAA\nAIW8rYgolUpZvHhxGhoasmTJkrLH2trasnDhwnzkIx/J8ccfn6ampqxfv75sz44dO3LZZZdl9OjR\nGTFiRM4999w8/vjjZXs2b96cCy+8MKNGjcpJJ52UadOmZePGjZ18eQAAQFfbZ0Rs2bIlU6dOzdq1\na3PIIYd0eHzBggW59dZbM2fOnNx+++0ZO3ZszjvvvDz55JPte2bPnp3169dn4cKFWb16dYYMGZLJ\nkydn8+bN7XumT5+eDRs2ZNmyZVm1alWSZMqUKdm1a1dXvE4AAKCL7DMi1qxZkx49euS2225L9+7l\n21taWrJy5cqcf/75GT9+fIYOHZoLL7www4YNy0033ZQkefrpp3PXXXfl4osvzujRozNs2LDMmzcv\nVVVV7bHwwAMP5LHHHsv8+fNz4oknpqGhIVdffXV+97vfZe3atX+Elw0AAOyvfUbEhAkTsnTp0tTW\n1nZ47Be/+EV27dqVxsbGsvXGxsY8+OCDSZL169ene/fuZXuqqqoyatSosj39+/fPscce276nX79+\naWhoaN8DAAAcGPYZEQMHDnzTxzZs2JAkGTRoUNn64MGD8+KLL2bnzp3ZuHFj+vbtm969e3fY09zc\nnCTZuHFjBgwY0OH4/3EPAABwYOjUpzNt37493bp1S69evcrWa2pqkrzxdqft27enurq6w3NramrS\n0tLSfpx97QEAAA4MPuIVAAAopKozT66trU2pVEpra2v71Yck2bZtW5KkT58+qa2t3evVhG3btqVP\nnz7tx9m0adNb7imqqampw5pPegIAgDc3ffr09OzZs2xt9erVHfZ16kpEfX19kv9/b8Qezc3NOfzw\nw9OrV6/U19dn69atHUKiubk5Q4cObT/O3iKiubk5Rx11VGdGBAAAulinrkSMHDkyvXv3zrp16zJ8\n+PD29fvvvz+nnnpqkmTMmDHta2eeeWaSpLW1NQ8//HCmT5+eJBk3blxuvPHGPProoxkxYkSS5Lnn\nnssTTzzRvqeovRXTpk2bMn78+P06HgAAvNMtXbq0w4cm7c0+I2Lr1q3ZvXt3SqVSkjcC4KWXXkry\nxsewTp06NcuWLcuwYcNy9NFHZ8WKFXnhhRcyZcqUJG98utPEiROzYMGC1NXVpa6uLosWLUp1dXUm\nTZqUJDn55JNzyimnZM6cObniiivSs2fPXHnllTnmmGNyxhln7PdJAAAAut4+I2LmzJn52c9+1v71\n8uXL861vfSvdunXL3XffnRkzZqRUKmXu3Ll5+eWX09DQkOXLl5cVzNy5c3Pttddm1qxZaW1tzciR\nI7NixYqy3z3xzW9+M/Pnz8+UKVPy+uuvZ+zYsflf/+t/dfgFdwAAQGV1K+25xPAusOftTEeePjs9\navpVepyDzhFtP8mSb1xV6TEAAOhie75Pvvvuu9/W25n8mB8AAChERAAAAIWICAAAoBARAQAAFCIi\nAACAQkQEAABQiIgAAAAKEREAAEAhIgIAAChERAAAAIWICAAAoBARAQAAFCIiAACAQkQEAABQiIgA\nAAAKEREAAEAhIgIAAChERAAAAIWICAAAoBARAQAAFCIiAACAQkQEAABQiIgAAAAKEREAAEAhIgIA\nAChERAAAAIWICAAAoBARAQAAFCIiAACAQkQEAABQiIgAAAAKEREAAEAhIgIAAChERAAAAIWICAAA\noBARAQAAFCIiAACAQkQEAABQiIgAAAAKEREAAEAhIgIAAChERAAAAIWICAAAoBARAQAAFCIiAACA\nQkQEAABQiIgAAAAKEREAAEAhIgIAACikyyJi9+7dWbJkST7xiU9kxIgROe2007JkyZLs2rUrSdLW\n1paFCxfmIx/5SI4//vg0NTVl/fr1ZcfYsWNHLrvssowePTojRozIueeem8cff7yrRgQAALpAl0XE\nggULcvPNN+erX/1q7rzzzlxyySX59re/nW984xvtj996662ZM2dObr/99owdOzbnnXdennzyyfZj\nzJ49O+vXr8/ChQuzevXqDBkyJJMnT87mzZu7akwAAKCTuiwi1qxZk6ampkyYMCGDBg3KhAkT0tTU\nlDvuuCMtLS1ZuXJlzj///IwfPz5Dhw7NhRdemGHDhuWmm25Kkjz99NO56667cvHFF2f06NEZNmxY\n5s2bl6qqqqxataqrxgQAADqpyyKiW7du6d69/HA9evRIkvziF7/Irl270tjYWPZ4Y2NjHnzwwSTJ\n+vXr071797I9VVVVGTVqVPseAACg8rosIs4555ysWbMmjz32WJLkt7/9be6444587nOfy4YNG5Ik\ngwYNKnvO4MGD8+KLL2bnzp3ZuHFj+vbtm969e3fY09zc3FVjAgAAnVTVVQeaOXNmNm/enM9+9rOp\nqqrKa6+9ls997nOZOXNm/v7v/z7dunVLr169yp5TU1OTJGlpacn27dtTXV3d4bg1NTVpaWnpqjEB\nAIBO6rKIuPHGG/P9738/11xzTYYPH54nnngiX//61/d6deFPoampqcPank+KAgAAOpo+fXp69uxZ\ntrZ69eoO+7okIrZu3ZrFixfnkksuyWc+85kkybHHHpudO3fm8ssvz/Tp01MqldLa2tp+9SFJtm3b\nliTp06dPamtr93rFYdu2benTp09XjAkAAHSBLomIDRs25LXXXsuRRx5Ztn7EEUfk9ddfb78SsWHD\nhgwfPrz98ebm5hx++OHp1atX6uvrs3Xr1rS0tKS2trZsz9ChQwvPtLdi2rRpU8aPH1/4WAAA8G6w\ndOnSDvcx702X3Fj9gQ98IEnyzDPPlK0/9dRTSZJPf/rT6d27d9atW1f2+P33359TTz01STJmzJj2\ntT1aW1vz8MMPt+8BAAAqr0uuRNTV1eWMM87I9ddfn/e973059thj8+STT+aGG27I2LFjc9hhh2Xq\n1KlZtmxZhg0blqOPPjorVqzICy+8kClTpiRJBg4cmIkTJ2bBggWpq6tLXV1dFi1alOrq6kyaNKkr\nxgQAALpAl91Yfc0112TJkiWZN29eNm/enH79+uWMM87IV77ylSTJjBkzUiqVMnfu3Lz88stpaGjI\n8uXLyy6XzJ07N9dee21mzZqV1tbWjBw5MitWrCh7exMAAFBZ3UqlUqnSQ/yp7Lkn4sjTZ6dHTb9K\nj3PQOaLtJ1nyjasqPQYAAF1sz/fJd99995/unggAAODdQ0QAAACFiAgAAKAQEQEAABQiIgAAgEJE\nBAAAUIiIAAAAChERAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgEJEBAAAUIiIAAAAChER\nAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgEJEBAAAUIiIAAAAChERAABAISICAAAoREQA\nAACFiAgAAKAQEQEAABQiIgAAgEJEBAAAUIiIAAAAChERAABAISICAAAoREQAAACFiAgAAKAQEQEA\nABQiIgAAgEJEBAAAUIiIAAAAChERAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgEJEBAAA\nUIiIAAAAChERAABAIV0aEb/85S9z9tln54QTTsi4ceOycOHClEqlJElbW1sWLlyYj3zkIzn++OPT\n1NSU9evXlz1/x44dueyyyzJ69OiMGDEi5557bh5//PGuHBEAAOikLouIJ598MlOmTMmpp56aO++8\nM5dcckluueWWLFu2LEmyYMGC3HrrrZkzZ05uv/32jB07Nuedd16efPLJ9mPMnj0769evz8KFC7N6\n9eoMGTIkkydPzubNm7tqTAAAoJO6LCJuuOGGfPSjH820adMycODAfPzjH8/111+fD3/4w2lpacnK\nlStz/vnnZ/z48Rk6dGguvPDCDBs2LDfddFOS5Omnn85dd92Viy++OKNHj86wYcMyb968VFVVZdWq\nVV01JgAA0EldEhGlUik//vGPc+aZZ5atNzY2ZsSIEfnFL36RXbt2pbGxscPjDz74YJJk/fr16d69\ne9meqqqqjBo1qn0PAABQeV0SEZs2bUpra2t69+6dWbNmZcyYMfnYxz6Wm2++OUmyYcOGJMmgQYPK\nnjd48OC8+OKL2blzZzZu3Ji+ffumd+/eHfY0Nzd3xZgAAEAXqOqKg2zZsiWlUilXXXVVJk+enL/6\nq7/Kfffdl2uuuSY7duxIknTr1i29evUqe15NTU2SpKWlJdu3b091dXWHY9fU1KSlpaUrxgQAALpA\nl0TE7t27kySf/vSnM2nSpCTJ8OHD89RTT+WWW27Jueee2xV/TCFNTU0d1nbt2vUnnwMAAA4W06dP\nT8+ePcvWVq9e3WFfl7yd6dBDD02SHHfccWXrI0eOzB/+8Ickb9w30draWvb4tm3bkiR9+vRJbW3t\nXq84bNu2LX369OmKMQEAgC7QJVcihgwZku7du+fll18uW29ra0uSHHvssSmVStmwYUOGDx/e/nhz\nc3MOP/zw9OrVK/X19dm6dWtaWlpSW1tbtmfo0KGFZ9pbMW3atCnjx48vfCwAAHg3WLp0aYf7mPem\nS65E1NTU5EMf+lDuvffesvWf//znGTJkSBobG1NdXZ1169aVPX7//ffn1FNPTZKMGTOmfW2P1tbW\nPPzww+17AACAyuuSKxFJcv7552fq1Km58cYb84lPfCL33HNPfvCDH2Tu3Lnp1atXpk6dmmXLlmXY\nsGE5+uijs2LFirzwwguZMmVKkmTgwIGZOHFiFixYkLq6utTV1WXRokWprq5uv88CAACovC6LiNGj\nR+e6667L4sWLs2TJkhx22GGZO3du/vzP/zxJMmPGjJRKpcydOzcvv/xyGhoasnz58rLLJXPnzs21\n116bWbNmpbW1NSNHjsyKFSvK3t4EAABUVrdSqVSq9BB/KnvuiTjy9NnpUdOv0uMcdI5o+0mWfOOq\nSo8BAEAX2/N98t133/2nuycCAAB49xARAABAISICAAAoREQAAACFiAgAAKAQEQEAABQiIgAAgEJE\nBAAAUIiIAAAACqmq9AAcHF5/bVee+93GrFu3rtKjHLRGjRqV3r17V3oMAIBOExG8LS///rd55aXq\n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\n7rrrcsEFF/iUnDex56eVxx13XNn6yJEjc8cdd+QPf/hD+vfvX4nRDjoPPPBAXn311Xz0ox+t9CgH\nha1bt2bx4sW55JJL8pnPfCZJcuyxx2bnzp25/PLL88UvfjHvfe97KzzlgevSSy/N9u3bc8455+SQ\nQw7Jhz70ocyaNSuXX355/st/+S9v+rx3fEQcccQRKZVK2bBhQ44++uj29WeeeSZVVVUZMmRIBafj\n3eDyyy/PPffck5tuuikjR46s9DgHheeeey4///nP88lPfrLsRrljjjkmr7zyim9G3sIPf/jDbN26\nNePGjWtfa2trS6lUygc/+MHMmDHDe6z3Q0NDQ5LkxRdfFBFvYsiQIenevXtefvnlsvU977n2Q7u3\n7957701DQ4N/z71NGzZsyGuvvZYjjzyybP2II47I66+/nk2bNomIt3DooYdm8eLF2bp1a0qlUt77\n3vfm5ptvztChQ9/yU8He8TdW19fXZ/DgwVm3bl3Z+n333ZfRo0d7vzB/VN/5znfyve99L0uXLhUQ\nBTQ3N+eiiy7KT3/607L1f/u3f0vv3r3f8icj73Zf+X/t3T1IK0sYxvFHtLIRNGaNBFmwsBJUxDSW\nErAMrGATsRAUUkWLFH6g2AmmkIggBGxEO4mKVYLYya42op2ihWlEgl/EQtBbiOGKx5yzcGHNPf8f\nBMKEgZdplmcy+048ru3tbWUymdJncHBQhmGUvuN7l5eXSiQSX5punJ6eqrq6mqOIZdTW1qqrq0v7\n+/ufxo+Pj9XS0vKpyQTKcxxHnZ2dXpdRMZqamiS9bxD/28XFxaff8WvZbFYnJyeqq6srha29vT31\n9fWVnfe//ydCkmKxmKanp9XR0aGenh7t7u7Ktm2tr697XdqPd39/r5eXl9JxiGKxqNvbW0nvb+5z\nd8T3isWiksmkLMuSaZqldfvg8/k8quznC4VCam9v18zMjKampmSapg4PD7W5uSnLsmjzWobf7/9y\nsVxDQ4NqamrU2trqUVWVIxAIyHEcjY+PK5FIyDAM2batdDqtgYEBAuxvxGIxjYyMaHV1Vf39/aWz\n1bOzs16XVjFeX191fX2tYDDodSkVo7GxUeFwWMvLy/L5fGpra9P5+blWVlbU29vL8/Y3MpmMzs7O\ntLCwIMMwtLa2pnw+r2g0WnZe1dtfclh2Y2ND6XRaNzc3Mk1TExMTnDX8A9FoVEdHR5/G3t7eVFVV\npVwup+bmZo8q+/kcx9HQ0NCX8Y/1++h8gF8rFApaXFzUwcGBnp6eFAwGFYlENDw8zKVLLqVSKW1t\nbSmXy3ldSkXI5/NKJpOybVt3d3cKBAKKRCIaHR1l4+QPZLNZLS0t6erqSn6/X2NjY7Isy+uyKsbD\nw4NCoZDm5+dZNxeen5+VSqW0s7OjQqGg+vp6hcNhxePxb7sL4d3j46Pm5uZK7+J0d3drcnJSpmmW\nnffXhAgAAAAA/w22VAAAAAC4QogAAAAA4AohAgAAAIArhAgAAAAArhAiAAAAALhCiAAAAADgCiEC\nAAAAgCuECAAAAACuECIAAAAAuPIP+9ITxNHwOPYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9983e9a310>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(count_phrases, bins=range(10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Counter({0: 1476, 1: 549, 2: 228, 3: 95, 4: 28, 5: 11, 6: 7})"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Counter(count_phrases)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sum(Counter(count_phrases).values()) == len(sequences)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "61.65413533834587"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Counter(count_phrases)[0] * 100. / len(sequences)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "445"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "count_phrases.index(6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Tag(token='Yahoo', tag='U-company'),\n",
       " Tag(token=':', tag='O'),\n",
       " Tag(token='Jackie', tag='U-person'),\n",
       " Tag(token='joins', tag='O'),\n",
       " Tag(token='Twitter', tag='U-company'),\n",
       " Tag(token='50', tag='O'),\n",
       " Tag(token='years', tag='O'),\n",
       " Tag(token='after', tag='O'),\n",
       " Tag(token='JFK', tag='U-person'),\n",
       " Tag(token='campaign', tag='O'),\n",
       " Tag(token=':', tag='O'),\n",
       " Tag(token='Had', tag='O'),\n",
       " Tag(token='Twitter', tag='U-company'),\n",
       " Tag(token='been', tag='O'),\n",
       " Tag(token='an', tag='O'),\n",
       " Tag(token='option', tag='O'),\n",
       " Tag(token='in', tag='O'),\n",
       " Tag(token='1960', tag='O'),\n",
       " Tag(token=',', tag='O'),\n",
       " Tag(token='a', tag='O'),\n",
       " Tag(token='pregnant', tag='O'),\n",
       " Tag(token='Jacquelin', tag='U-person'),\n",
       " Tag(token='...', tag='O'),\n",
       " Tag(token='http://yhoo.it/9VAD4A', tag='O')]"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sequences[445]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "product Counter({1: 56, 2: 11, 3: 4, 4: 2})\n",
      "facility Counter({1: 84, 2: 9, 3: 1})\n",
      "movie Counter({1: 20, 2: 2, 3: 2, 4: 1})\n",
      "company Counter({1: 134, 2: 14, 3: 3})\n",
      "sportsteam Counter({1: 33, 2: 9})\n",
      "musicartist Counter({1: 35, 2: 4, 3: 4})\n",
      "person Counter({1: 269, 2: 54, 3: 17, 4: 4, 5: 1})\n",
      "other Counter({1: 166, 2: 23, 3: 3, 4: 1})\n",
      "geo-loc Counter({1: 161, 2: 44, 3: 4, 4: 4})\n",
      "tvshow Counter({1: 32, 2: 1})\n"
     ]
    }
   ],
   "source": [
    "for k, v in count_phrase_types.iteritems():\n",
    "    print k, Counter(v)\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Context words"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def phrases_context_words(sequences, lowercase=False):\n",
    "    context_words = defaultdict(lambda : defaultdict(int))\n",
    "    global_word_counts = defaultdict(int)\n",
    "    for seq in sequences:\n",
    "        phrase_types = set()\n",
    "        outside_word_counts = defaultdict(int)\n",
    "        for t in seq:\n",
    "            token, tag = t\n",
    "            if lowercase:\n",
    "                token = token.lower()\n",
    "            if tag[0] in (\"U\", \"B\"):\n",
    "                phrase_types.add(tag[2:])\n",
    "            elif t.tag[0] == \"O\":\n",
    "                outside_word_counts[token] += 1\n",
    "        for k,v in outside_word_counts.iteritems():\n",
    "            global_word_counts[k] += 1\n",
    "            for p in phrase_types:\n",
    "                context_words[p][k] += v\n",
    "    return context_words, global_word_counts         "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "context_words, global_word_counts = phrases_context_words(sequences, lowercase=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['product',\n",
       " 'facility',\n",
       " 'movie',\n",
       " 'company',\n",
       " 'sportsteam',\n",
       " 'musicartist',\n",
       " 'person',\n",
       " 'other',\n",
       " 'geo-loc',\n",
       " 'tvshow']"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "context_words.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_diff_type_occurence(w,context_words):\n",
    "    n = 0\n",
    "    for k, v in context_words.iteritems():\n",
    "        if w in v:\n",
    "            n += 1\n",
    "    return n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Top 10 tokens in category product: \n",
      "\trefresh: 2\n",
      "\tmascara: 2\n",
      "\ttank: 2\n",
      "\thand: 2\n",
      "\trecord: 2\n",
      "\tmonday: 3\n",
      "\twant: 5\n",
      "\tthird: 2\n",
      "\tlo: 2\n",
      "\tmlia: 2\n",
      "Top 10 tokens in category facility: \n",
      "\tnight: 10\n",
      "\tsalsa: 2\n",
      "\tsafety: 2\n",
      "\tself-defense: 2\n",
      "\tview: 2\n",
      "\ttamales: 2\n",
      "\t@paulwalk: 2\n",
      "\tsoyrizo: 2\n",
      "\tsaturday: 5\n",
      "\twhere: 6\n",
      "Top 10 tokens in category movie: \n",
      "\tmovie: 5\n",
      "\t5:00: 2\n",
      "\t8:45: 2\n",
      "\t@glasgowfilm: 2\n",
      "\thttp://bit.ly/bhulum: 2\n",
      "\t7:00: 2\n",
      "\tapplications: 2\n",
      "\tmovies: 3\n",
      "\treally: 5\n",
      "\t:p: 2\n",
      "Top 10 tokens in category company: \n",
      "\tdrama: 7\n",
      "\t@liltwist: 5\n",
      "\tedition: 7\n",
      "\tvideos: 9\n",
      "\tmeltdowns: 5\n",
      "\tepic: 6\n",
      "\thttp://bit.ly/cuy0yt: 3\n",
      "\tcryin: 3\n",
      "\tusually: 4\n",
      "\temail: 4\n",
      "Top 10 tokens in category sportsteam: \n",
      "\tfootball: 7\n",
      "\tgame: 13\n",
      "\tvs: 5\n",
      "\tscores: 3\n",
      "\tcheap: 2\n",
      "\tbrooms: 2\n",
      "\tunseen: 2\n",
      "\t#ryerson: 2\n",
      "\t@robmoysey: 2\n",
      "\t@ruquidditch: 2\n",
      "Top 10 tokens in category musicartist: \n",
      "\t((: 2\n",
      "\tconcerts: 2\n",
      "\tduring/before: 2\n",
      "\t@jaredleto: 2\n",
      "\trican: 2\n",
      "\thttp://ht.ly/2g4ns: 2\n",
      "\t@planetill: 2\n",
      "\tstage: 2\n",
      "\twants: 2\n",
      "\tcosta: 2\n",
      "Top 10 tokens in category person: \n",
      "\t...\": 14\n",
      "\ttook: 17\n",
      "\tpart: 14\n",
      "\twake: 7\n",
      "\tconcert: 10\n",
      "\tyoiu: 6\n",
      "\ttrampled: 6\n",
      "\tgot: 24\n",
      "\ttest: 10\n",
      "\ttry: 17\n",
      "Top 10 tokens in category other: \n",
      "\tstressful: 3\n",
      "\tstyle: 3\n",
      "\tdriving: 7\n",
      "\tthedeandreway: 3\n",
      "\t@souljaboy: 3\n",
      "\tnap: 3\n",
      "\tlist: 4\n",
      "\tnov: 4\n",
      "\taway: 4\n",
      "\tmonday: 4\n",
      "Top 10 tokens in category geo-loc: \n",
      "\tparty: 10\n",
      "\tfollow: 6\n",
      "\t3d: 3\n",
      "\tf: 3\n",
      "\thttp://bit.ly/cds8pd: 3\n",
      "\tsony/bud: 3\n",
      "\tlight: 3\n",
      "\tforward: 3\n",
      "\tbeautiful: 4\n",
      "\tetc: 4\n",
      "Top 10 tokens in category tvshow: \n",
      "\tloop: 2\n",
      "\t@k8_walsh: 2\n",
      "\tepisodes: 2\n",
      "\t@fuseboxradio: 2\n",
      "\tstupid: 2\n",
      "\trican: 2\n",
      "\thttp://ht.ly/2g4ns: 2\n",
      "\t@planetill: 2\n",
      "\tik: 2\n",
      "\tpremiere: 2\n"
     ]
    }
   ],
   "source": [
    "TOPN=10\n",
    "context_sums = {k: (sum(v.values())*1.) for k,v in context_words.iteritems()}\n",
    "global_sum = len(context_words)*1.\n",
    "\n",
    "for k,v in context_words.iteritems():\n",
    "    print \"Top %s tokens in category %s: \" % (TOPN, k)\n",
    "    print \"\\t\", \"\\n\\t\".join(\"%s: %s\" % t for t in sorted(v.iteritems(),\n",
    "                                                   key=lambda x: ((x[1]/context_sums[k])\n",
    "                                                                  *np.log10(global_sum/get_diff_type_occurence(x[0], context_words))),\n",
    "                                                   reverse=True)[:10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>token</th>\n",
       "      <th>count</th>\n",
       "      <th>normed_score</th>\n",
       "      <th>normed_global_score</th>\n",
       "      <th>tf_idf</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>217</th>\n",
       "      <td>loop</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>1.00000</td>\n",
       "      <td>0.003503</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>277</th>\n",
       "      <td>@k8_walsh</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>1.00000</td>\n",
       "      <td>0.003503</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>@fuseboxradio</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>0.69897</td>\n",
       "      <td>0.002448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>148</th>\n",
       "      <td>rican</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>0.69897</td>\n",
       "      <td>0.002448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>169</th>\n",
       "      <td>@planetill</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>0.69897</td>\n",
       "      <td>0.002448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>265</th>\n",
       "      <td>premiere</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>0.69897</td>\n",
       "      <td>0.002448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>stupid</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>0.69897</td>\n",
       "      <td>0.002448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>episodes</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>0.69897</td>\n",
       "      <td>0.002448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>152</th>\n",
       "      <td>http://ht.ly/2g4ns</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>0.69897</td>\n",
       "      <td>0.002448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>283</th>\n",
       "      <td>costa</td>\n",
       "      <td>2</td>\n",
       "      <td>0.003503</td>\n",
       "      <td>0.69897</td>\n",
       "      <td>0.002448</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  token  count  normed_score  normed_global_score    tf_idf\n",
       "217                loop      2      0.003503              1.00000  0.003503\n",
       "277           @k8_walsh      2      0.003503              1.00000  0.003503\n",
       "95        @fuseboxradio      2      0.003503              0.69897  0.002448\n",
       "148               rican      2      0.003503              0.69897  0.002448\n",
       "169          @planetill      2      0.003503              0.69897  0.002448\n",
       "265            premiere      2      0.003503              0.69897  0.002448\n",
       "100              stupid      2      0.003503              0.69897  0.002448\n",
       "11             episodes      2      0.003503              0.69897  0.002448\n",
       "152  http://ht.ly/2g4ns      2      0.003503              0.69897  0.002448\n",
       "283               costa      2      0.003503              0.69897  0.002448"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "phrase_type_key=\"tvshow\"\n",
    "df_t = pd.DataFrame(context_words[phrase_type_key].items(), columns=[\"token\", \"count\"])\n",
    "df_t[\"normed_score\"] = df_t.apply(lambda x: (x[\"count\"] /context_sums[phrase_type_key]), axis=1)\n",
    "df_t[\"normed_global_score\"] = df_t.apply(lambda x: np.log10(global_sum/get_diff_type_occurence(x[0], context_words)), axis=1)\n",
    "df_t[\"tf_idf\"] = df_t[\"normed_score\"]*df_t[\"normed_global_score\"]\n",
    "df_t.sort_values(\"tf_idf\", ascending=False).head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>token</th>\n",
       "      <th>count</th>\n",
       "      <th>normed_score</th>\n",
       "      <th>normed_global_score</th>\n",
       "      <th>tf_idf</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>795</th>\n",
       "      <td>...\"</td>\n",
       "      <td>14</td>\n",
       "      <td>0.002070</td>\n",
       "      <td>0.698970</td>\n",
       "      <td>0.001447</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>206</th>\n",
       "      <td>took</td>\n",
       "      <td>17</td>\n",
       "      <td>0.002514</td>\n",
       "      <td>0.522879</td>\n",
       "      <td>0.001314</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1225</th>\n",
       "      <td>part</td>\n",
       "      <td>14</td>\n",
       "      <td>0.002070</td>\n",
       "      <td>0.522879</td>\n",
       "      <td>0.001082</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>853</th>\n",
       "      <td>wake</td>\n",
       "      <td>7</td>\n",
       "      <td>0.001035</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.001035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>808</th>\n",
       "      <td>concert</td>\n",
       "      <td>10</td>\n",
       "      <td>0.001479</td>\n",
       "      <td>0.698970</td>\n",
       "      <td>0.001034</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>149</th>\n",
       "      <td>yoiu</td>\n",
       "      <td>6</td>\n",
       "      <td>0.000887</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000887</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>379</th>\n",
       "      <td>trampled</td>\n",
       "      <td>6</td>\n",
       "      <td>0.000887</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000887</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>170</th>\n",
       "      <td>got</td>\n",
       "      <td>24</td>\n",
       "      <td>0.003549</td>\n",
       "      <td>0.221849</td>\n",
       "      <td>0.000787</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>476</th>\n",
       "      <td>test</td>\n",
       "      <td>10</td>\n",
       "      <td>0.001479</td>\n",
       "      <td>0.522879</td>\n",
       "      <td>0.000773</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1523</th>\n",
       "      <td>try</td>\n",
       "      <td>17</td>\n",
       "      <td>0.002514</td>\n",
       "      <td>0.301030</td>\n",
       "      <td>0.000757</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         token  count  normed_score  normed_global_score    tf_idf\n",
       "795       ...\"     14      0.002070             0.698970  0.001447\n",
       "206       took     17      0.002514             0.522879  0.001314\n",
       "1225      part     14      0.002070             0.522879  0.001082\n",
       "853       wake      7      0.001035             1.000000  0.001035\n",
       "808    concert     10      0.001479             0.698970  0.001034\n",
       "149       yoiu      6      0.000887             1.000000  0.000887\n",
       "379   trampled      6      0.000887             1.000000  0.000887\n",
       "170        got     24      0.003549             0.221849  0.000787\n",
       "476       test     10      0.001479             0.522879  0.000773\n",
       "1523       try     17      0.002514             0.301030  0.000757"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "phrase_type_key=\"person\"\n",
    "df_t = pd.DataFrame(context_words[phrase_type_key].items(), columns=[\"token\", \"count\"])\n",
    "df_t[\"normed_score\"] = df_t.apply(lambda x: (x[\"count\"] /context_sums[phrase_type_key]), axis=1)\n",
    "df_t[\"normed_global_score\"] = df_t.apply(lambda x: np.log10(global_sum/get_diff_type_occurence(x[0], context_words)), axis=1)\n",
    "df_t[\"tf_idf\"] = df_t[\"normed_score\"]*df_t[\"normed_global_score\"]\n",
    "df_t.sort_values(\"tf_idf\", ascending=False).head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>token</th>\n",
       "      <th>count</th>\n",
       "      <th>normed_score</th>\n",
       "      <th>normed_global_score</th>\n",
       "      <th>tf_idf</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>956</th>\n",
       "      <td>party</td>\n",
       "      <td>10</td>\n",
       "      <td>0.002571</td>\n",
       "      <td>0.397940</td>\n",
       "      <td>0.001023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>420</th>\n",
       "      <td>follow</td>\n",
       "      <td>6</td>\n",
       "      <td>0.001542</td>\n",
       "      <td>0.522879</td>\n",
       "      <td>0.000806</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1199</th>\n",
       "      <td>forward</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000771</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000771</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>245</th>\n",
       "      <td>f</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000771</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000771</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>135</th>\n",
       "      <td>3d</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000771</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000771</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>573</th>\n",
       "      <td>sony/bud</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000771</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000771</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>859</th>\n",
       "      <td>light</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000771</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000771</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>517</th>\n",
       "      <td>http://bit.ly/cds8pd</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000771</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000771</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>830</th>\n",
       "      <td>etc</td>\n",
       "      <td>4</td>\n",
       "      <td>0.001028</td>\n",
       "      <td>0.698970</td>\n",
       "      <td>0.000719</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>263</th>\n",
       "      <td>beautiful</td>\n",
       "      <td>4</td>\n",
       "      <td>0.001028</td>\n",
       "      <td>0.698970</td>\n",
       "      <td>0.000719</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     token  count  normed_score  normed_global_score    tf_idf\n",
       "956                  party     10      0.002571             0.397940  0.001023\n",
       "420                 follow      6      0.001542             0.522879  0.000806\n",
       "1199               forward      3      0.000771             1.000000  0.000771\n",
       "245                      f      3      0.000771             1.000000  0.000771\n",
       "135                     3d      3      0.000771             1.000000  0.000771\n",
       "573               sony/bud      3      0.000771             1.000000  0.000771\n",
       "859                  light      3      0.000771             1.000000  0.000771\n",
       "517   http://bit.ly/cds8pd      3      0.000771             1.000000  0.000771\n",
       "830                    etc      4      0.001028             0.698970  0.000719\n",
       "263              beautiful      4      0.001028             0.698970  0.000719"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "phrase_type_key=\"geo-loc\"\n",
    "df_t = pd.DataFrame(context_words[phrase_type_key].items(), columns=[\"token\", \"count\"])\n",
    "df_t[\"normed_score\"] = df_t.apply(lambda x: (x[\"count\"] /context_sums[phrase_type_key]), axis=1)\n",
    "df_t[\"normed_global_score\"] = df_t.apply(lambda x: np.log10(global_sum/get_diff_type_occurence(x[0], context_words)), axis=1)\n",
    "df_t[\"tf_idf\"] = df_t[\"normed_score\"]*df_t[\"normed_global_score\"]\n",
    "df_t.sort_values(\"tf_idf\", ascending=False).head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
